Buscar

Sistemas de Computação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Sistemas de Computação 
Operação dos Sistema de Computação
Para que um computador comece a funcionar, ele precisa ter um programa inicial para executar. Este programa inicial, ou programa de partida (bootstrap program), tende a ser simples.
O sistema inicial inicializa os registradores de CPU e as controladoras de dispositivos, passando pelo conteúdo da memória. O programa de partida deverá saber onde se encontra o Sistema Operacional como carregá-lo e iniciar então o sistema.
A partir deste ponto o Sistema Operacional inicia a execução do primeiro processo e espera que algum evento ocorra.
A ocorrência de eventos é geralmente dada pela interrupção de Hardware ou Software. O hardware dispara uma interrupção enviando um sinal a CPU através do barramento. O software pode disparar uma interrupção executando uma operação especial denominada Chamada ao Sistema (System Call) ou Chamada ao Monitor (Monitor Call). 
Os sistema Operacionais Modernos são baseados em Interrupções. Se não houver processos para executar, nenhum dispositivo de I/O ao qual fornecer serviço e nenhum usuário a ser atendido, o sistema operacional ficará parado esperando que algo aconteça.
Os eventos são quase sempre sinalizados pela ocorrência de uma interrupção ou um trap. Trap, ou exceção, é uma interrupção gerada por software causada por um erro (ex: divisão por zero ou ou acesso inválido a memória)
O fato de um sistema operacional ser baseado em interrupções define estrutura geral do sistema. Para cada tipo de interrupção, segmentos separados de código no Sistema Operacional detereminam a ação que deve ser realizada. 
Classificação de Sistemas Operacionais: Os tipos de sistemas operacionais e sua evolução estão relacionados diretamente com a evolução do hardware e das aplicações por ele suportadas e podem ser classificados conforme o processamento, tarefas, usuários e interface.
Classificação quanto a Processamento:
Multiprocessados: O SO distribui as tarefas entre dois ou mais processadores. Se os processadores estivem na mesma máquina fisica, o sistema é chamado de Sistema Multiprocessado Fortemente Acoplado. Caso esteja em máquinas diferentes, trata-se de um Sistema Multiprocessado Fracamente Acoplado.
Sistemas Fortemente Acoplados: Caracteriza-se pela existencia de varios processadores compartilhando uma unica memoria fisica e dispositivos de E/S. Sendo gerenciados por apenas um sistema operacional, conhecidos como sistemas de multiprocessadores.
Sistemas Fracamente Acoplados: Caracterizam pela existência de dois ou mais sistemas computacionais conectados através de linhas de comunicação. Cada sistema funciona independente, possuindo seu próprio sistema operacional e gerenciando seus próprios recursos, como CPU, memória e dispositivos de E/S, conhecidos como sistemas multicomputadores.
Classificação quanto a Tarefas:
Monotarefa: Esse tipo de S.O. se caracteriza por permitir que o processador, a memória e os periféricos permaneçam exclusivamente dedicados a execução de um único programa, ou seja pode-se executar apenas um processo de cada vez.
Exemplo:MS-DOS.
Multitarefa: Além do próprio SO, vários processos de usuários (tarefas) estão carregados em memória, sendo que um pode estar ocupando o processador e outros ficam enfileirados, aguardando a sua vez. O compartilhamento de tempo no processador é feito de modo que o usuário tenha a impressão que vários processos estão sendo executados simultaneamente. 
Cada processo recebe um tempo (timeslice ou fatia de tempo) para ser executado. Ao final desse tempo, outro processo é executado. Essa alternância de processos chama-se concorrência(*). Cabe destacar que processos só podem estar executando simultaneamente caso o sistema seja multiprocessado, já que, em que cada instante de tempo, apenas um processo está em execução em um processador ou núcleo de processamento
Exemplo: OS/2, Windows, Linux, Mac OS X
Classificação quanto a Usuários.
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.
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. 
Multiusuários: 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.
Classificação quanto a Interface Gráfica: Interface Gráfica para usuários (Graphical User Interface ou GUI): é um tipo de interface de usuário que permite a integração com dispositivos digitais através de elementos gráficos com ícones e outros indicadores visuais que substituem linhas de comandos.
Linha de Comando: Interface de linha de comando (command line interface): usa comandos alfanuméricos simples para navegar entre os discos e pastas, outras funções como, deletar, copiar e executar aplicativos
(*)Concorrência: Capacidade de capacidade de execução concorrente de tarefas, permitindo melhor aproveitamento de recursos. 
Estruturas de Sistemas Operacionais: Um sistema operacional não é um bloco único e fechado de software executando sobre o hardware. Na verdade, ele é composto de diversos componentes com objetivos e funcionalidades complementares. Alguns dos componentes mais relevantes de um sistema operacional típico são:
Núcleo: é o coração do sistema operacional, responsável pela gerência dos recursos do hardware usados pelas aplicações. Ele também implementa as principais abstrações utilizadas pelos programas aplicativos. 
Drivers: módulos de código específicos para acessar os dispositivos físicos. Existe um driver para cada tipo de dispositivo, como discos rígidos IDE, SCSI, portas USB, placas de vídeo, etc. Muitas vezes o driver é construído pelo próprio fabricante do hardware e fornecido em forma compilada (em linguagem de máquina) para ser acoplado ao restante do sistema operacional. 
Código de inicialização: a inicialização do hardware requer uma série de tarefas complexas, como reconhecer os dispositivos instalados, testá-los e configurá-los adequadamente para seu uso posterior. Outra tarefa importante é carregar o núcleo do sistema operacional em memória e iniciar sua execução. 
Programas utilitários: são programas que facilitam o uso do sistema computacional, fornecendo funcionalidades complementares ao núcleo, como formatação de discos e mídias, configuração de dispositivos, manipulação de arquivos (mover, copiar, apagar), interpretador de comandos, terminal, interface gráfica, gerência de janelas, etc
Funcionalidades dos SOs: Para cumprir seus objetivos de abstração e gerência, o sistema operacional deve atuar em várias frentes. Cada um dos recursos do sistema possui suas particularidades, o que impõe exigências específicas para gerenciar e abstrair os mesmos. Sob esta perspectiva, as principais funcionalidades implementadas por um sistema operacional típico são:
Gerência do processador: também conhecida como gerência de processos ou de atividades, esta funcionalidade visa distribuir a capacidade de processamento de forma justa entre as aplicações, evitando que uma aplicação monopolize esse recurso e respeitando as prioridades dos usuários. O sistema operacional provê a ilusão de que existe um processador independente para cada tarefa, o que facilita o trabalho dos programadores de aplicações e permite a construção de sistemas mais interativos. 
Gerência de memória: tem como objetivofornecer a cada aplicação uma área de memória própria, independente e isolada das demais aplicações e inclusive do núcleo do sistema. O isolamento das áreas de memória das aplicações melhora a estabilidade e segurança do sistema como um todo, pois impede aplicações com erros (ou aplicações maliciosas) de interferir no funcionamento das demais aplicações. Além disso, caso a memória RAM existente seja insuficiente para as aplicações, o sistema operacional pode aumentá-la de forma transparente às aplicações, usando o espaço disponível em um meio de armazenamento secundário (como um disco rígido). Uma importante abstração construída pela gerência de memória é a noção de memória virtual, que desvincula os endereços de memória vistos por cada aplicação dos endereços acessados pelo processador na memória RAM.
Gerência de arquivos: esta funcionalidade é construída sobre a gerência de dispositivos e visa criar arquivos e diretórios, definindo sua interface de acesso e as regras para seu uso. É importante observar que os conceitos abstratos de arquivo e diretório são tão importantes e difundidos que muitos sistemas operacionais os usam para permitir o acesso a recursos que nada tem a ver com armazenamento.
Gerência de proteção: com computadores conectados em rede e compartilhados por vários usuários, é importante definir claramente os recursos que cada usuário pode acessar, as formas de acesso permitidas (leitura, escrita, etc.) e garantir que essas definições sejam cumpridas. Para proteger os recursos do sistema contra acessos indevidos, é necessário: a) definir usuários e grupos de usuários; b) identificar os usuários que se conectam ao sistema, através de procedimentos de autenticação; c) definir e aplicar regras de controle de acesso aos recursos, relacionando todos os usuários, recursos e formas de acesso e aplicando essas regras através de procedimentos de autorização; e finalmente d) registrar o uso dos recursos pelos usuários, para fins de auditoria e contabilização.
Funcionalidades (cont...): As funcionalidades do sistema operacional geralmente são inter-dependentes: por exemplo, a gerência do processador depende de aspectos da gerência de memória, assim como a gerência de memória depende da gerência de dispositivos e da gerência de proteção. Alguns autores [Silberschatz et al., 2001, Tanenbaum, 2003] representam a estrutura do sistema operacional conforme indicado na Figura abaixo. Nela, o núcleo central implementa o acesso de baixo nível ao hardware, enquanto os módulos externos representam as várias funcionalidades do sistema.

Outros materiais