Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto...

32
Sistemas Operacionais Prof. Renato Bianchin

Transcript of Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto...

Page 1: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Sistemas Operacionais

Prof. Renato Bianchin

Page 2: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

O que é um S.O?

Um sistema operacional é o conjunto de programas que torna possível operações (interface) entre o utilizador e o computador. O sistema operacional certifica que o hardware é inicializado e que os seus processos funcionam corretamente.

Page 3: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Tipos de sistemas

Monousuário, Monotarefa. O sistema operacional foi criado para que um único usuário possa fazer uma coisa por vez. O Palm OS dos computadores Palm é um bom exemplo de um moderno sistema operacional monousuário e monotarefa.

Page 4: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Monousuário, Multitarefa. Este tipo de sistema operacional é o mais utilizado em computadores de mesa e laptops. As plataformas Microsoft Windows e Apple MacOS são exemplos de sistemas operacionais que permitem que um único usuário utilize diversos programas ao mesmo tempo. Por exemplo, é perfeitamente possível para um usuário de Windows escrever uma nota em um processador de texto ao mesmo tempo em que faz download de um arquivo da Internet e imprime um e-mail.

Page 5: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Multiusuário. Um sistema operacional multiusuário permite que diversos usuários utilizem simultaneamente os recursos do computador. O sistema operacional deve se certificar de que as solicitações de vários usuários estejam balanceadas. Cada um dos programas utilizados deve dispor de recursos suficientes e separados, de forma que o problema de um usuário não afete toda a comunidade de usuários. Unix, VMS e sistemas operacionais mainframe como o MVS são exemplos de sistemas operacionais multiusuário.

Page 6: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Sistema operacional de tempo real

• RTOS - Real-time operating system - É utilizado para controlar máquinas, instrumentos científicos e sistemas industriais.

• Geralmente um RTOS não tem uma interface para o usuário muito simples e não é destinado para o usuário final, desde que o sistema é entregue como uma caixa selada;

Page 7: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

• A função do RTOS é gerenciar os recursos do computador para que uma operação específica seja sempre executada durante um mesmo período de tempo. Numa máquina complexa, se uma parte se move mais rapidamente só porque existem recursos de sistema disponíveis, isto pode ser tão catastrófico quanto se uma parte não conseguisse se mover porque o sistema está ocupado.

• Nos sistemas de tempo real um programa detém o processador o tempo que for necessário ou até que apareça outro usuário de maior prioridade para o sistema.

Page 8: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Sistema Operacional de rede

• O sistema operacional de rede é um software de controle da máquina que dá suporte à rede, sendo que existem 2 classes de sistema: sistema cliente e sistema servidor.

• O sistema cliente possui características mais simples, voltadas para a utilização de serviços, enquanto que o sistema servidor possui uma maior quantidade de recursos, tais como serviços para serem disponibilizados aos clientes.

• Os sistemas baseados em Unix são potencialmente clientes e servidores, sendo feita a escolha durante a instalação dos pacotes, enquanto que em sistemas Windows, existem versões clientes e versões servidores.

Page 9: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

BufferA técnica de buffering consiste nua utilização de uma área em

memória principal, denominada buffer, criada e mantida pelo Sistema Operacional, com a finalidade de auxiliar a transferência de dados entre dispositivos de E/S e a memória. O buffer permite minimizar a disparidade de velocidade entre o processador e os dispositivos de E/S, e tem como objetivo principal manter tanto os dispositivos de E/S como o processador ocupados a maior parte do tempo.

A unidade de transferência do mecanismo de buffering é o registro. O buffer deve permitir o armazenamento de vários registros, de forma que o processador tenha à sua disposição dados suficientes para processar sem ter que interromper o programa a cada leitura/gravação no dispositivo de E/S. Enquanto o processador está ocupado processando, os dispositivos de E/S estão efetuando operações para outros processos.

Page 10: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Spool

A técnica de spooling foi criada inicialmente para auxiliar a submissão de processos ao sistema, sendo os processos gravados em fita para posterior leitura e execução.

Isto é conseguido através da criação e manutenção, pelo Sistema Operacional de uma grande área em disco, com a finalidade de simular uma impressora. Desta forma, todos os usuários e seus programas imprimem, na verdade, para este arquivo em disco, liberando a associação dos dispositivos de impressão diretamente aos programas que estão executando.

Page 11: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Segurança e Proteção do Sistema

A eficiência proporcionada por um ambiente multiprogramável implica em maior complexidade do sistema operacional, já que alguns problemas de proteção surgem como decorrência deste tipo de implementação.

Como vários programas ocupam a memória principal simultaneamente, cada usuário possui uma área reservada onde seus programas e dados são armazenados durante o processamento. O sistema operacional deve possuir mecanismos de proteção a essas áreas, de forma a preservar as informações nela contidas. Caso um programa tente acessar uma posição de memória fora de sua área, um erro indicando a violação de acesso deve ocorrer, sendo responsabilidade do sistema operacional o controle eficiente do compartilhamento dos recursos e a sincronização da comunicação, evitando problemas de consistência.

Page 12: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Semelhante ao compartilhamento da memória, um disco também armazena arquivos de diferentes usuários. Novamente o sistema operacional deve garantir a integridade e confiabilidade dos dados de cada usuário.

A proteção e segurança do sistema pode ser implementada também a nível do programa do usuário, com a inserção de rotinas específicas dentro do programa para controlar o acesso de usuários ao aplicativo, além de controlar internamente quais telas e funções tal usuário pode acessar.

Page 13: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Operações de Entrada e Saída

Nos primeiros sistemas computacionais, a comunicação entre o processador e os periféricos era direta, sendo o processador responsável por efetuar as operações de leitura/gravação nos dispositivos.

O surgimento do controlador de E/S permitiu ao processador agir de maneira independente dos dispositivos de E/S. Com esse novo elemento, o processador não mais se comunicava diretamente com os periféricos, mas sim via controlador.

Page 14: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Passou a existir então três maneiras básicas de se implementar operações de E/S: • Por programa;• Por interrupções;• DMA – Direct Memory Access;

Page 15: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Estrutura do S.O.

O sistema operacional é formado por um conjunto de rotinas que oferecem serviços essenciais aos usuários, às suas aplicações, e também ao próprio sistema. A esse conjunto de rotinas dá-se o nome de núcleo do sistema ou kernel.

Page 16: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Funções do sistema

As principais funções do núcleo encontradas na maioria dos sistemas comerciais são as seguintes: • Criação e eliminação de processos;• Gerência de memória;• Gerência de sistema de arquivos;• Gerência de dispositivos de E/S;• Suporte a redes de teleprocessamento;

Page 17: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Processo

O conceito de processo é a base para a implementação de um sistema multiprogramável. O processador é projetado apenas para executar instruções, não sendo capaz de distinguir qual programa se encontra em execução. A gerência de um ambiente multiprogramável é função exclusiva do sistema operacional, que deve controlar a execução dos diversos programas e o uso concorrente do processador.

A gerência do processador é uma das principais funções de um sistema operacional. Através dos processos, um programa pode alocar recursos, compartilhar dados e trocar informações.

Page 18: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Componentes do processo Num sistema multiusuário, cada usuário tem a impressão de

possuir o processador e todos os demais recursos reservados exclusivamente para si, mas isto não é verdade. Todos os recursos estão sendo compartilhados, inclusive a CPU. Neste caso, o processador executa o processo do usuário por um intervalo de tempo e, no instante seguinte, poderá estar processando um outro programa, do mesmo ou de outro usuário.

Um processo é formado por três partes: contexto de software, contexto de hardware e espaço de endereçamento, que juntas mantêm todas as informações necessárias à execução de um programa.

Page 19: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Contexto de Software: neste contexto são especificadas características e limites dos recursos que podem ser alocados pelo processo, como número máximo de arquivos abertos, prioridade de execução, número máximo de linhas impressas, etc. Muitas destas características são criadas no momento da criação do processo, quando da sua alocação.

Page 20: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Contexto de Hardware: armazena o conteúdo dos registradores gerais da CPU, além dos registradores de uso específico. Quando um processo está em execução, o seu contexto de hardware está armazenado nos registradores da CPU. No momento em que o processo perde a utilização da CPU, o sistema salva as informações no contexto de hardware do processo.

Page 21: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Espaço de endereçamento: é a área de memória pertencente a um processo onde as instruções e os dados do programa são armazenados para execução. Cada processo possui seu próprio espaço de endereçamento, que deve ser devidamente protegido do acesso dos demais processos. Os contextos de software e de hardware não fazem parte do espaço de endereçamento.

Page 22: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Estados do processo

Num sistema multiprogramável, um processo não deve alocar a CPU com exclusividade, de forma que possa existir um compartilhamento no uso do processador. Os processos passam por diferentes estados ao longo do processamento, em função de eventos gerados pelo sistema operacional, pelo hardware, ou pelo próprio programa. São estados possíveis de um processo:

Page 23: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Estados possíveis de um processo

• Criação;• Pronto;• Execução;• Espera;• Saída;

Page 24: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Tipos de processos

Além dos processos do usuário, a CPU também executa processos do sistema. São aqueles que oferecem os serviços do sistema operacional aos usuários, como criação/eliminação de processos, tratamento de interrupção e todos aqueles correspondentes às funções do sistema já estudadas. Estes executam sempre, com certa prioridade, concorrendo com os processos do usuário.

Os processos em execução, do usuário, podem assumir dois tipos diferentes, de acordo com suas características de uso de CPU e periféricos.

Page 25: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Processo CPU-bound: é aquele processo que utiliza muito a CPU. Ele ganha uma fatia de tempo e a utiliza por inteiro, sem desperdiçar nenhum tempo. É o caso de programas científicos, de cálculo numérico, estatística, matemática, e também na área de simulação. Normalmente fazem pouca ou nenhuma entrada de dados, e muito processamento.

Page 26: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Processo I/O-bound: é o tipo de processo que utiliza muito mais E/S do que CPU. Aplicações em Banco de Dados, onde se faz consultas e atualizações constantes em arquivos em disco são um bom exemplo deste tipo de processo. De acordo com essas características, podemos dizer que este tipo de processo permanece mais tempo em espera (tratando interrupções) do que propriamente em execução, ocupando a CPU por períodos mínimos de tempo.

Page 27: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Gerência de Sistemas de Arquivos

Estrutura de Diretórios é como o Sistema organiza logicamente os arquivos. Contém entradas associadas aos arquivos, com as informações de localização, nome, organização e outros atributos: • Nível único;• Diretório pessoal;• Múltiplos Níveis;

Page 28: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Sistemas de alocação de arquivos

• FAT: sistema criado no MS-DOS e depois utilizado no Windows. Usa listas encadeadas, tem um limite de área utilizável em partições de 2 GB, caracteriza-se por um baixo desempenho no acesso e armazenamento.

• FAT32: igual ao FAT no que diz respeito a organização e desempenho, mas pode trabalhar com partições de até 2TB.

Page 29: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

NTFS: NT File System, original da plataforma Windows NT/2000/XP. Opera com uma estrutura em árvore binária, oferecendo alto grau de segurança e desempenho:

• nomes de arquivo com até 255 caracteres, podendo conter maiúsculas, minúsculas e espaços em branco;

• dispensa ferramentas de recuperação de erros; • bom sistema de proteção de arquivos; • criptografia; • suporta discos de até 264 bytes.

Page 30: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

UNIX: Usa diretório hierárquico, com um raiz e outros diretórios subordinados. Neste Sistema Operacional todos os arquivos são considerados apenas como uma “seqüência” de bytes, sem significado para o Sistema. É responsabilidade da aplicação controlar os métodos de acesso aos arquivos.

Page 31: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)

Proteção de acesso

Considerando-se que os meios de armazenamento são compartilhados por vários usuários, é fundamental que mecanismos de proteção sejam implementados para garantir a integridade e proteção individual dos arquivos e diretórios: • Senhas de acesso;• Grupos de usuário;• Lista de controle de acesso;

Page 32: Sistemas Operacionais Prof. Renato Bianchin. O que é um S.O? Um sistema operacional é o conjunto de programas que torna possível operações (interface)