Buscar

conceitos basicos de SO

Prévia do material em texto

*
Sistemas Operacionais
Conceitos Gerais
*
Quem são o Hardware e o Software ?
Quem é o Sistema Operacional? 
 É uma camada de software colocada entre o hardware e os programas 
O que faz um Sistema Operacional ?
Executa tarefas para os usuários
Ele não resolve os problemas do usuário, mas fornece o caminho para essas resoluções
Controla o acesso ao disco e periféricos
Oferece suporte ao processamento de vários usuários simultaneamente
Gerencia simultaneamente de vários programas.
Compartilhamento de recursos de forma organizada e protegida.
*
O que faz um Sistema Operacional ? 
Gerenciar os recursos de hardware de forma a “tirar” o máximo proveito da máquina 
Manter os componentes a maior parte do tempo ocupados com tarefas existentes
Prover funções básicas para que programas de computador possam ser escritos com maior facilidade
Fazer com que os programas não precisem conhecer detalhes da máquina para poderem funcionar.
*
*
Primeira Fase (1945-1955)
Durante a Segunda Guerra.
ENIAC – 18mil válvulas, 70 mil resistores, 30 toneladas. Consumia 140 KWatts, 5.000 adições por segundo.
Para trabalhar nessas máquinas, era necessário conhecer profundamente o funcionamento do hardware, pois a programação era feita em painéis, através de fios, utilizando linguagem de máquina.
UNIVAC I – criado para o senso americano de 1950.
Nesta fase, ainda não existia o conceito de Sistema Operacional. 
Segunda Fase (1956-1965)
Criação do transistor e das memórias magnéticas.
Surgimento das primeiras linguagens de programação: Assembly e Fortran.
SO com seu próprio conjunto de rotinas para operações de E/S.
Processamento batch.
*
Terceira Fase (1966-1980)
Circuitos Integrados (CIs) e microprocessadores.
Computadores de porte menor e baixo custo .
Conceitos de multiprogramação: compartilhamento de memória principal e processador. 
Substituição das fitas por discos magnéticos, permitindo a alteração na ordem de execução das tarefas que antes era puramente seqüencial.
Foram adicionados terminais de vídeo e teclado para interação on-line do usuário.
time-sharing (tempo compartilhado).
Criação do UNIX (1969), escrito em linguagem C.
*
Quarta Fase (1981-1990)
Surgimento dos microcomputadores PC (Personal Computer), dos sistemas DOS (Disk Operation System) e VMS (Virtual Memory System).
Surgem as estações de trabalho (workstations) que, apesar de monousuárias, permitem que se executem diversas tarefas concorrentes, criando o conceito de multitarefa.
Máquinas com mais de um processador, exigindo dos SO mecanismos de controle e sincronismo e possibilitando o multiprocessamento.
Difusão das redes WAN, MAN e LAN com o desenvolvimento de protocolos de rede e sistemas operacionais para rede.
*
Fatos notáveis que mudaram nestes anos:
Grandes avanços em termos de hardware, software e telecomunicações.
Evolução das aplicações, que necessitam cada vez mais de capacidade de processamento e armazenamento de dados. 
Sistemas especialistas, sistemas multimídia, banco de dados distribuídos, inteligência artificial são alguns exemplos da necessidade cada vez maior.
Arquiteturas paralelas, baseadas na organização de multiprocessadores não convencionais.
Processamento distribuído de forma que as funções do sistema operacional estejam espalhadas por vários processadores através de redes de computadores.
Arquitetura cliente-servidor, aplicada basicamente a redes locais, passa a ser oferecida em redes distribuídas, permitindo que qualquer pessoa tenha acesso a todo tipo de informação, independente de onde ela esteja armazenada.
Desenvolvimento de interfaces gráficas para os SO: Windows, Linux, etc.
*
*
TIPOS
Monoprogramado ou Monotarefa
Multiprogramado ou Multitarefa
Multiprocessado
Monoprogramado ou Monotarefa
Simples implementação
Baixo custo de implementação
Subutilização de recursos.
Se caracterizam por permitir que o processador, a memória e os periféricos permaneçam exclusivamente dedicados à execução de um único programa.
Permitem também que todos os recursos do sistema fiquem exclusivamente dedicados a uma única tarefa.
*
Sistemas Multiprogramáveis / Multitarefa
Mais complexos para implementar.
Aumentam a produtividade e reduzem o custo.
Quanto ao número de usuários: monousuário e multiusuário.
Processam em: Batch, Time Sharing e Real Time.
Funcionamento simultâneo de periféricos permite a existência de tarefas concorrentes.
Melhor aproveitamento dos recursos de recursos
*
SO – A Chegada do Time Sharing
Quantum ou Time Slice
Todos os recursos em um pequeno intervalo de tempo
Ao concluir o quantum passa a tarefa seguinte
Aumentam os processos, diminui o tempo do quantum
Faz n quantuns até que esteja concluída a tarefa
Sempre mantém uma reserva pro sistema não travar
*
SO – Técnicas Ajudam na Melhoria de Desempenho
DMA, SPOOL, Memória Virtual, Interrupção, Reentrância(ao abrir uma nova sessão do programa, são abertos somente os arquivos mínimos para seu funcionamento, aproveitando a instância anterior), etc.
Multiprocessados
São duas ou mais UCP’s interligadas, trabalhando em conjunto. 
Fatores principais:
Integração: A forma de comunicação entre as UCP’s e o grau de compartilhamento de memória e periféricos. 
Escalabilidade: possibilidade de aumentar a capacidade computacional com menor custo.
Reconfiguração: capacidade de um sistema continuar o processamento mesmo se um dos processadores falhar.
Balanceamento: possibilidade de distribuir a carga de processamento entre os diversos sistemas de computação, melhorando o desempenho como um todo.
*
SO – Divisão do Uso das Memórias
Surge o conceito de ACOPLAMENTO.
Fortemente acoplados: utilizam a mesma memória controlada por um único sistema. Podem ser Assimétricos(processador primário e os demais secundários) e Simétricos(processadores possuem forças iguais).
Fracamente acoplados: dois ou mais sistemas independentes interligados por barramentos específicos, onde cada um gerencia seu segmento de memória. Representados por:
SO Rede: cada nó tem seu próprio sistema, além de um hardware e software que possibilitam ao sistema ter acesso a outros componentes da rede, compartilhando seus recursos. 
SO Distribuído: cada componente possui seu próprio sistema operacional, memória, processador e dispositivos, existindo um grande grau de interação entre os nós, indiferente a visão do usuário , que interpreta como sendo um único sistema centralizado. Permitem que uma aplicação seja dividida em diferentes partes (aplicações distribuídas), que se comunicam através de linha de comunicação, podendo cada parte ser executada por um sistema diferente. 
*
Núcleo do Sistema ou Kernel (cérebro)
Conjunto de rotinas (procedimentos e funções) que oferecem serviços aos usuários do sistema e suas aplicações, bem como outras rotinas do próprio sistema. 
System Call
É um mecanismo implementado para proteger o núcleo do sistema, para evitar que uma aplicação, que tenha acesso ao núcleo, realize uma operação que o danifique, fazendo com que o sistema fique comprometido e inoperante.
O usuário (ou aplicação), quando deseja solicitar algum serviço do sistema, realiza uma chamada a uma de suas rotinas (ou serviços) através de system calls (chamadas ao sistema), que são portas de entrada para se ter acesso ao núcleo do sistema operacional. Para cada serviço existe uma system call associada e cada sistema operacional tem o seu próprio conjunto (biblioteca) de chamadas, com nomes, parâmetros e formas de ativação específicos.
*
Sistema Operacional em Camadas
Cada camada oferece um conjunto de funções que podem ser utilizadas por outras camadas.
Uma camada podem fazer referência apenas a camadas inferiores. 
Sua vantagem é isolar as funções do sistema operacional, facilitando sua alteração e depuração, além de criar uma hierarquia de níveis de modos de acesso, protegendo as camadasmais internas.
Sistema Operacional Cliente Servidor
Divide o sistema em processos, sendo cada um responsável por oferecer um conjunto de serviços, sempre que uma aplicação desejar, sendo chamada de cliente, enquanto o processo que responde à solicitação é chamado de servidor. 
Podem ser representados por uma aplicação de um usuário ou um outro componente do sistema operacional
É função do núcleo do sistema realizar a comunicação, ou seja, a troca de mensagens entre o cliente e o servidor.

Continue navegando