1. SUMÁRIO
Introdução
Conceito
Serviços
SISTEMAS Chamadas de sistema
OPERACIONAIS Programas de sistema
Histórico
Multiprogramação
PROF. ALEXANDRO DOS SANTOS SILVA
Categorias
Interface de usuário
Sistema de arquivos
1
2
INTRODUÇÃO CONCEITO
O que se espera de um sistema de computação? Software responsável pela controle de execução
Execução de programas de usuários de programas aplicativos
Permitir a solução de problemas Interface entre aplicativos e o hardware
Sistema operacional: um programa colocado Duas formas de ver um sistema operacional
entre o hardware do computador e os programas Alocador de recursos
dos usuários de forma a atingir esses dois objetivos Programa de controle
Objetivos
Programas Tornar mais conveniente a utilização de um computador
“Esconder” detalhes internos de funcionamento
Sistema Operacional Tornar mais eficiente a utilização de um computador
Gerenciamento “justo” dos recursos do sistema
Hardware Facilitar a evolução do sistema
Desenvolvimento, teste e atualização de novas facilidades
3 4
1
2. CONCEITO SERVIÇOS
Sistema operacional: interface entre Execução de programas
usuário/computador Carga de aplicativos na memória principal
Acesso a dispositivos de entrada e saída
Usuário Usuário Usuário Usuário Controle de acesso a arquivos
1 2 3 4
Acesso a recursos de sistema
Proteção entre usuários
Contabilidade
Editor de Editor de Navegador Jogo
texto Planilha Eletrônica
Estatísticas
Monitoração de desempenho
Sistema Operacional Sinalização de upgrades necessários
Detecção de erros
Erros de hardware (falhas em dispositivos de E/S, por
Hardware exemplo)
Erros de programação (acesso não autorizado, por
exemplo)
Solicitação de recursos não disponíveis por aplicativos
5 6
VISÃO DE USUÁRIO CHAMADAS DE SISTEMA
Sistema operacional: interface oferecida para Forma pela qual programas solicitam serviços ao
acesso a recursos do sistema sistema operacional
Chamadas de sistema Análogo a sub-rotinas: transferência de controle para o
sistema operacional ao invés de transferência para outro
Programas de sistema 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
7 8
2
3. PROGRAMAS DE SISTEMA HISTÓRICO
Programas em execução fora do kernel Primórdios
Também conhecidos como utilitários Sistema operacional inexistente
Implementação de tarefas básicas Usuário como programador e operador da máquina
Muitas vezes confundidos com o próprio sistema Alocação do recurso “computador” de forma
operacional artesanal
Interpretador de comandos Evolução: motivações
Ativado, quando do início de uma sessão de trabalho
pelo sistema operacional Melhor utilização de recursos
Interface Gráfica de Usuário (GUI): tipo de interface Avanços tecnológicos (novos tipos de hardware)
para interação entre o usuário e o sistema Adição de novos serviços
operacional
Introdução de operadores profissionais
Usuário não mais como operador de máquina
9 10
HISTÓRICO HISTÓRICO
Processamento batch
Década de 1950: surgimento do conceito de job
Programa a ser compilado e executado, acompanhado de JOB N
dados de execução (cartões perfurados)
Organização em lote (batch)
Processamento
Passagem entre diferentes jobs, de forma manual JOB 2
fita de entrada
Evolução: seqüenciamento automático de jobs, para JOB 1
transferência de controle de um job a outro 1. Jobs (perfurados em cartões), submetidos a uma leitora, para gravação
Tipo de processamento conhecido como processamento em uma fita magnética de entrada
batch ou sistemas bach
Em certa medida, considerado o primeiro sistema
Processamento
operacional (rudimentar)
fita de entrada fita de saída
Monitor residente: programa armazenado de forma 2. Execução dos jobs (via leitura da fita de entrada), para gravação dos resultados do processamento
permanente na memória em uma fita magnética de saída
Execução inicial
Transferência de controle para o job (cartões de controle) RELATÓRIO N
Após o término da execução do job, retorno de controle ao monitor Processamento
RELATÓRIO 2
Centralização das rotinas de acesso à periféricos fita de saída
disponibilizados aos programas de usuário RELATÓRIO 1
3. Leitura e impressão da fita de saída
11 12
3
4. HISTÓRICO MULTIPROGRAMAÇÃO
Processamento batch multiprogramado Conceito: manter mais de um programa em “execução”
simultaneamente
Monitor residente: até então, possibilidade de Inovações de hardware que possibilitaram o surgimento da
execução de apenas um programa a cada vez multiprogramação
Conseqüência: desperdício de tempo de CPU com Interrupções (sinalização de eventos)
operações de entrada/saída Discos magnéticos
Acesso randômico a diferentes jobs (programas) no disco
Evolução: manter diversos programas na memória Melhor desempenho em acessos de leitura e escrita
ao mesmo tempo Sistemas de tempo compartilhado (timesharing): tipo de
Enquanto um programa realiza alguma operação de multiprogramação
entrada/saída, outro pode ser executado Utilização do processador por cada programa em pequenos
intervalos de tempo
Desperdício CPU Multiprogramação 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
CPU programa
E/S
Tempo de resposta é importante
Requisição Término Requisição Término Interface para interação com o programa em execução
E/S E/S E/S E/S (introdução de novos dispositivos de entrada e saída, como o
tempo tempo terminal de vídeo e o teclado)
13 14
CATEGORIAS SISTEMAS MONOPROGRAMÁVEIS
Categorias de sistemas operacionais e sua Primeiros sistemas operacionais
evolução: diretamente relacionados com a Principal característica: permitir que os recursos de
evolução do hardware e das aplicações por ele hardware (processador, memória e periféricos)
suportadas permaneçam exclusivamente dedicados à
Comum a substituição de termos por outros, na execução de um único programa
tentativa de refletir uma nova maneira de Qualquer outra aplicação, para ser executada, deve
interação ou processamento aguardar o término da execução do programa corrente
Unidade de execução do processador, por exemplo: uso Também conhecidos como sistemas monotarefa
inicial do termos programa ou job; depois, surge o Capacidade de execução de apenas uma tarefa por
conceito de processo e subprocesso e, posteriormente, o vez
conceito de thread
De fácil implementação, quando comparado a
Principais categorias outros sistemas
Sistemas monoprogramáveis
Poucas preocupações com problemas decorrentes de
Sistemas multiprogramáveis compartilhamento de recursos
Sistemas multiprocessados
Exemplos: MS-DOS
15 16
4
5. SISTEMAS MULTIPROGRAMÁVEIS SISTEMAS MULTIPROGRAMÁVEIS
Principal característica: multiprogramação Classificação em função do número de usuários
Sistemas monousuário: projetados para uso por um único
Capacidade de execução de vários programas de forma usuário
simultânea Exemplos: Windows 3.x, Windows 9x, Windows Millenium
Compartilhamento de recursos entre os diversos Sistemas multiusuário: projetados para suportar várias
sessões de usuários em um computador
usuários e aplicações Exemplos: Windows NT, UNIX
Exemplo: enquanto um programa espera pelo término de Classificação em função da forma como as
uma operação de leitura ou gravação em disco, outros aplicações são gerenciadas
aplicativos podem estar sendo processados neste mesmo Sistemas batch multiprogramado (vide página 13)
intervalo de tempo (se observa, neste caso, o Sistemas de tempo compartilhado (vide página 14)
compartilhamento da memória e do processador) Sistemas de tempo real: empregados para o controle de
Também conhecidos como sistemas multitarefa aplicações que devem responder dentro de um intervalo
de tempo
De maior eficiência (se comparado aos sistemas Alocação do processador pelo aplicativo durante o tempo
monoprogramáveis) que for necessário para sua execução ou até o lançamento
de outro aplicativo de maior prioridade
Entretanto, de implementação mais complexa Noção de tempo real: dependente da aplicação
17 18
SISTEMAS MULTIPROCESSADOS INTERFACE DE USUÁRIO
Sistemas equipados com duas ou mais CPUs Conceito: interface para interação entre o usuário
interligadas, que operam em conjunto e o sistema operacional
Principal vantagem: execução efetiva de vários Tipos
programas ao mesmo tempo ou distribuição da
Interface de Linha de Comando
execução de uma mesma tarefa entre vários
computadores Interface Gráfica de Usuário
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
19 20
5
6. INTERFACE DE USUÁRIO INTERFACE DE USUÁRIO
Interface de linha de comando Interface Gráfica de Usuário
Princípio básico de funcionamento: digitação de comandos Origem do termo: abreviadamente, do acrônimo GUI, do
(via teclado) inglês Graphical User Interface
Requer, do usuário, conhecimentos avançados relacionados à Ambiente de desktop: sistema com soluções de interface gráfica
sintaxe adotada para a linguagem de comandos (além das com o usuário (GUI)
funcionalidades agregadas aos comandos) Uso de elementos gráficos, como janelas, ícones, menus e
Pouca interatividade: ausência de uso de dispositivos apontadores, ponteiros
como o mouse Interação: geralmente realizada através de dispositivos
Interpretação de comandos: realizada por um interpretador apontadores (mouse) ou teclados, com os quais o usuário é
de comandos (também conhecido por shells) capaz de selecionar elementos gráficos e manipulá-los de
Exemplos: command.exe (MS-DOS), bash (UNIX) forma a obter algum resultado prático
Interface de usuário predominante nas décadas de 60 e 70 Exemplos: Windows Aero, KDE, Gnome, etc.
Windows Aero GNOME
21 22
SISTEMA DE ARQUIVOS SISTEMA DE ARQUIVOS
Parte mais visível do sistema operacional Requisitos mínimos
Mecanismo de armazenamento e acesso a dados Do ponto de vista do usuário: capacitá-lo a
e programas Criar, apagar, ler e alterar arquivos
Controlar as permissões de acesso a seus arquivos
Duas partes básicas Nomear arquivos de forma simbólica
Arquivos: armazenamento de dados e programas Estruturar os arquivos de forma a adequá-los à suas
Diretórios: organização e informações sobre arquivos necessidades específicas
Objetivos Criação de diretórios e subdiretórios
Realizar back-ups e recuperar arquivos em caso de
Fornecer mecanismos para usuários manipular arquivos e problemas
diretórios
Do ponto de vista do sistema operacional: capacitá-lo a
Garantir a validade e coerência de dados
Descrever a localização de todos os arquivos e de seus
Minimizar ou eliminar o risco de perda/alteração de dados atributos (via diretório)
Otimizar o acesso Gerenciar espaço físico do disco
Fornecer suporte a outros sistemas de arquivos Alocar blocos livres a arquivos em criação/expansão
Liberar blocos de arquivos removidos
Suporte à vários usuários (multiprogramação)
Mecanismos para localização eficiente de blocos (setores) que
Uso compartilhado (proteção e acesso concorrente) compõem arquivos
23 24
6
7. SISTEMA DE ARQUIVOS SISTEMA DE ARQUIVOS
Conceito de arquivo
Conceitos básicos
Armazenamento de informação em diferentes tipos
Arquivos
de arquivos
Recipientes que contêm dados
Sistema operacional: visão uniforme da informação,
Diretórios independente do dispositivo físico de armazenamento
Conjuntos de referências a arquivos Visão lógica é o arquivo
Partição Arquivos: mapeados para dispositivos físicos
Abstração que permite, a partir do disco físico, criar Arquivos: itens
discos lógicos Nome
Atributos
Estrutura interna
Tipo
Métodos de acesso
Operações
25 26
SISTEMA DE ARQUIVOS SISTEMA DE ARQUIVOS
Conceito de arquivo
Nomes de arquivos
Armazenamento de informação em diferentes tipos
Espaço de nomes: conjunto de regras e convenções
de arquivos
para identificar simbolicamente um arquivo
Sistema operacional: visão uniforme da informação
independente do dispositivo físico de armazenamento Variações entre sistemas
Visão lógica é o arquivo Distinção entre letras maiúsculas e minúsculas
Arquivos: mapeados para dispositivos físicos Obrigatoriedade ou não de uma extensão
Às vezes, extensões são apenas convenções
Arquivos: itens
Tamanho máximo do nome e da extensão (se houver)
Nome
Atributos
Estrutura interna
Tipo
Métodos de acesso
Operações
27 28
7
8. SISTEMA DE ARQUIVOS REFERÊNCIAS BIBLIOGRÁFICAS
MACHADO, Francis Berenger; MAIA, Luiz Paulo. Arquitetura de Sistemas
Arquivo: atributos Operacionais, 4ª edição. Rio de Janeiro: LTC, 2007.
Informações sobre arquivos
Nome: informação simbólica empregada para OLIVEIRA, R. S.; CARISSIMI, A.; TOSCANI, S. S. Sistemas Operacionais.
Porto Alegre: Editora Sagra-Luzzatto.
referenciar o arquivo
Tipo: binário, texto, executável, caracter, bloco WIKIPÉDIA. Ambiente de desktop. Disponível em
Localização: posição do arquivo em um determinado <http://pt.wikipedia.org/wiki/Ambiente_de_desktop>. Acesso em 19 de
maio de 2011.
dispositivo E/S
Tamanho: número de bytes que compõem o arquivo WIKIPÉDIA. Interface gráfica do utilizador. Disponível em
Proteção: controle de acesso à leitura, escrita e <http://pt.wikipedia.org/wiki/Interface_gr%C3%A1fica_do_utilizador>.
execução do arquivo Acesso em 19 de maio de 2011.
Data/hora de criação e identificação do usuário: WIKIPÉDIA. Interpretador de comandos. Disponível em
informações destinadas a proteção, segurança e <http://pt.wikipedia.org/wiki/Interpretador_de_comandos>. Acesso em
monitoração 19 de maio de 2011.
Varia de sistema operacional a sistema operacional
Atributos mantidos em uma estrutura à parte
Diretório
29 30
8