Buscar

Sistema Operacional

Prévia do material em texto

O que é um Sistema Operacional?
Um sistema operacional  (em inglês: Operating System - OS) ou ainda software de sistema é um programa ou um conjunto de programas cuja função é gerenciar os recursos do sistema (definir qual programa recebe atenção do processador, gerenciar memória, criar um sistema de arquivos, prover segurança de acesso, etc.), fornecendo uma interface entre o computador e o usuário. 
Embora possa ser executado imediatamente após a máquina ser ligada, a maioria dos computadores pessoais de hoje o executa através de outro programa armazenado em uma memória não-volátil ROM chamado BIOS num processo chamado "bootstrapping", conceito em inglês usado para designar processos auto-sustentáveis, ou seja, capazes de prosseguirem sem ajuda externa. Após executar testes e iniciar os componentes da máquina (monitores, discos, etc), o BIOS procura pelo sistema operacional em alguma unidade de armazenamento, geralmente o Disco Rígido, e a partir daí, o sistema operacional "toma" o controle da máquina.
Componentes de um Sistema Operacional
Básicos: Interface com Usuário, Gerência de Processador, Gerência de Memória, Gerência de Dispositivos e Sistemas de Arquivos
Avançados: Segurança de Acesso e Ferramenta de Auditoria.
Onde Existem Sistemas Operacionais?
Mainframes 
 Desktops
 Sistemas Multiprocessados
 Sistemas Distribuídos
 Sistemas Agrupados / Agregados (Clusters)
 Sistemas de Tempo Real
 Sistemas Pessoais (PADs, Tablets, Smartphones)
 Sistemas embutidos (ou embarcados) – Roteadores, Componentes de Carros, geladeiras, aviões etc....
 Sistemas Operacionais na Nuvem	
Definição de S.O. como Máquina Virtual
A arquitetura de um computador (conjunto de instruções, organização da memória, estrutura de Entrada/Saída (E/S) e estrutura de barramento) é bastante primitiva e difícil de programar, em especial a parte de entrada e saída. Fica claro que a maioria dos programadores não quer ou não pode envolver-se com detalhes da programação. Torna-se evidente, então, que o programador deseja lidar com uma abstração de alto nível e, conseqüentemente, bastante simples.
No caso dos discos, uma abstração típica poderia fazer com que o disco fosse visto como uma coleção de arquivos identificados por nomes. Cada arquivo deve ser aberto para leitura ou escrita, em seguida deve ser lido ou escrito, e finalmente deve ser fechado. Detalhes a respeito do processo de gravação ou a respeito do estado da corrente do motor da controladora, não devem aparecer na abstração apresentada ao usuário. O programa que esconde o verdadeiro hardware do usuário e apresenta-lhe um esquema simples de arquivos identificados que podem ser lidos ou escritos é, naturalmente, o Sistema Operacional. 
Da mesma forma que o Sistema Operacional isola o usuário dos detalhes da operação do disco, fornecendo-lhe uma interface bastante simples, ele também trata de uma série de outras questões de nível bastante baixo, tais como interrupções, os temporizadores, a gerência da memória e CPU, além de várias outras questões relacionadas ao uso do hardware. Em cada caso, a abstração apresentada ao usuário do SO é mais simples e mais fácil de utilizar que o próprio hardware. O SO tornou a interação entre usuários e computador mais simples, confiável e eficiente, eliminando a necessidade do programador se envolver com a complexidade do hardware para poder trabalhar, ou seja, a parte física do computador tornou-se transparente para o usuário. 
Definição de S.O. como Gerenciador de Recursos
O conceito de Sistema Operacional como fornecedor de uma interface conveniente a seus usuários é uma visão top-down. Uma visão alternativa, bottom-up, mostra o SO como um gerente dos recursos de hardware disponíveis na máquina. Os computadores modernos são compostos de processadores, memórias, temporizadores, discos, dispositivos de fita magnética, interface de rede e dispositivos de E/S, tais como scanners, câmeras digitais e impressoras. 
Na visão alternativa, a função do Sistema Operacional é a de fornecer um esquema de alocação dos processadores, das memórias e dos dispositivos de Entrada/Saída entre os vários processos que competem pela utilização de tais recursos. Imagine o que poderia acontecer se três processos, executando em um dado computador, resolvessem imprimir suas saídas simultaneamente na mesma impressora. 
No caso do computador possuir múltiplos usuários, a necessidade de gerência e proteção da memória, dos dispositivos de Entrada/Saída e dos demais recursos do sistema fica ainda mais aparente. Tal necessidade vem do fato de ser freqüentemente necessário aos usuários fazer o compartilhamento de recursos relativamente caros, como é o caso das impressoras a laser.
Classificação dos Sistemas Operacionais
Monotarefa x Multitarefa.
 Monousuário ou Multiusuário.
 Monoprocessado x Multiprocessado.
 On-line ou Batch (capacidade de interação com o usuário).
 Tempo Real (garatir tempo de resposta de uma tarefa).
Conceitos Básicos
Processos
Um conceito chave em todos os Sistemas Operacionais é justamente o processo. Um processo é basicamente um programa em execução. Ele consiste do programa executável, dos dados do programa, do seu contador de programa (PC – Program Counter), de diversos registros e de toda a informação necessária para executar o programa.
Diferença entre Programa e Processo
 Programa (estático e permanente) x Processo (dinâmico e efêmero)
Os processos dependem dos programas, dados e contexto
Processos (cont..)
 Abstração que representa um programa em execução
 Mesmo código (programa) pode gerar processos diferentes (dependendo dos dados e momento da execução). 
 É a forma como o Sistema Operacional enxerga um programa e possibilita sua execução
 Processos executam programas de usuário e programas do próprio sistema operacional.
Threads
Um conceito atualmente bastante em voga em sistemas operacionais é o conceito de threads. Esse interesse por threads está associado com o advento de máquinas multiprocessadas e com a facilidade de exprimir atividades concorrentes. Uma thread é usualmente definida como um fluxo de controle no interior de um processo.
Basicamente uma thread, que as vezes é chamada de processo leve (lightweight process) é um unidade básica de processamento da CPU. Um processo pode ter vários threads.
Arquivos
Os computadores podem armazenar informações em diversos meios físicos, tais como discos (magnéticos e óticos), fitas magnéticas e cartões de memória. Para que o sistema de computação seja conveniente o sistema operacional deve fornecer uma visão lógica deste armazenamento.
O sistema operacional abstrai das propriedades físicas de seus dispositivos de armazenamento informações para definir uma unidade lógica de armazenamento, o arquivo.
Um arquivo é uma coleção de informações correlatas que recebe um nome e é gravado em um meio físico (o armazenamento secundário).
Recursos.
Um recurso será definido como um objeto que pode ser solicitado para ser usado por um processo. Isto é um recurso pode ser um dispositivo de hardware (disco ou fita), um arquivo, uma parte de uma informação (registro travado em um sistema de Banco de Dados) e etc...

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes