320 likes | 511 Views
Sistemas Operacionais. Professor Marcelo Gasparin. Introdução. O que é um Sistema Operacional? É um programa que atua como um intermediário entre o usuário e o hardware do computador. Permite que o computador seja utilizado de uma forma conveniente e eficiente.
E N D
Sistemas Operacionais Professor Marcelo Gasparin
Introdução • O que é um Sistema Operacional? • É um programa que atua como um intermediário entre o usuário e o hardware do computador. • Permite que o computador seja utilizado de uma forma conveniente e eficiente.
O que é um Sistema Operacional ? Camada de software entre o hardware e as aplicações dos usuários Sistema Bancário Office BrowserI.Explorer Programas de aplicação Compiladores Editores Interpretadorde comandos Programasde Sistema Sistema Operacional Linguagem de máquina Microarquitetura Hardware Dispositivos físicos
Introdução • O que se espera de um sistema de computação? • Execução de programas de usuários. • Permitir a solução de problemas.
Programas Sistema Operacional Hardware Introdução • Sistema operacional é um programa colocado entre o hardware do computador e os programas dos usuários.
Funções do S. O. • A partir da máquina real ( hardware), criar uma máquina estendida (“abstrata” ou “virtual”). • É uma visão top-down, na qual o sistema operacional é uma extensão do hardware que implementa uma interface para as aplicações • Gerenciar os recursos de hardware disponíveis às aplicações. • É uma visão bottom-up, na qual o sistema operacional é um controlador dos recursos do sistema.
Funções do Sistema Operacional • A partir da máquina real (hardware), criar uma máquina estendida (abstrata). • Gerenciar os recursos de hardware disponíveis às aplicações.
O SO como máquina estendida • Ocultar a complexidade do hardware. • Oferecer interfaces padronizadas de acesso ao hardware. • Permitir uma visão homogênea de dispositivos distintos.
O SO como Máquina Estendida Clicar em um arquivo open(file);read(file, ch);...close(file); Move head to sector 123 in FATread 256 bytes to mem 36234Hmove head to sector 4684753read 1024 bytes to mem 578567...
O SO como máquina abstrata • Ocultar a complexidade do hardware. • Oferecer interfaces padronizadas de acesso ao hardware. • Permitir uma visão homogênea de dispositivos distintos. Clicar em um arquivo Assign(file, “D:\README.TXT”);open(file);read(file, ch);…close(file); aplicação S.O. Move head to sector 123 in FATread 256 bytes to mem 36234Hmove head to sector 4684753read 1024 bytes to mem 578567...
O SO como Gerente de Recursos • Recursos da máquina • processadores • espaço em memória • arquivos • conexões de rede • dispositivos externos • Controle de acesso • equilibrar uso • evitar conflitos (e.g. impressão)
O SO como Gerenciador de Recursos • Recursos da máquina • processadores • espaço em memória • arquivos • conexões de rede • dispositivos externos • Controle de acesso • equilibrar uso • evitar conflitos
source app O SO como Gerenciador de Recursos source app source app sdgf jhgsdfj dsjhfkhj khjHKjhkjghj hgjhgj jgh jhg jhg jhg jhg kjhgjhgj hg jhgkjhkjhgjhg jhg jhg jhg jhkjhjkhgjhgjhkgjhgjhgjhgj aplicação aplicação aplicação Sistema Operacional
Serviços de Sistemas Operacionais • Cada S.O. oferece serviços e programas específicos, porém apresentam funções em comum. • Execução de programas: capacidade de carregar, executar e encerar um programa. • Operações de I/O: deve fornecer meios para controlar arquivos ou dispositivos de I/O. • Manipulação do sistema de arquivos: ler, gravar, criar e excluir arquivos. • Comunicação: comunicação de processos. • Detecção de erros: notar falhas de CPU, memória ou dispositivos de I/O e tomar medidas adequadas.
Serviços de Sistemas Operacionais • Alocação de recursos: gerenciar recursos de memória, CPU ou dispositivos I/O. • Contabilização: manter um registro dos usuários que utilizam os recursos do computador referente a quantidade e que tipo de recursos. • Proteção: A proteção visa garantir que todo acesso aos recursos do sistema seja controlado, evitando conflitos e integridade dos dados.
Entendendo o Sistema Operacional Usuário controlando o Hardware Usuário Hardware
Entendendo o Sistema Operacional Programa controlando o Hardware Software Usuário Hardware
SistemaOperacional Entendendo o Sistema Operacional Interpretador de Comando (Shell) ou Interface Gráfica Usuário Hardware
SistemaOperacional Entendendo o Sistema Operacional Programas fazendo solicitação ao Sistema Operacional, que as repassa ao hardware. Usuário Software Hardware
SistemaOperacional Entendendo o Sistema Operacional Interpretador de Comando ou Interface Gráfica Usuário Software Hardware Alguns programas podemacessar diretamente o Hardware
TIPO DEFINIÇÃO SUBDIVISÃO CARACTERÍSTICAS Monotarefa O sistema operacional tem capacidade de executar apenas um programa ou tarefa de cada vez. Exemplo: CP/M, MS-DOS Não tem Multitarefaou Multipro-gramável Sistemas Operacionais que tem a capacidade de executar mais de uma tarefa ou programa simultaneamente: Exemplo: Unix, Windows, Linux, OS/400. Cooperativa O S.O. define uma fatia de tempo (time-slice) para cada programa.Ex.: Windows até 3.1 Preemptiva O S.O define prioridades conforme a necessidade momentânea de cada programa. Capacidade de execução de tarefas
S. O. Coop. ou Preemp. Sistema Operacional Multitarefa Interpretador de Comando ou Interface Gráfica Usuários Software Software Hardware
S. O. Multitarefa / Multiprogramável Os sistemas multiprogramados podem ser classificados de acordo com a forma que interagem com os usuários, podendo ser divididos em sistemas batch, de tempo compartilhado e de tempo real. Sistemas Batch: Os sistemas batch (lote) caracterizam-se por terem seus programas armazenados em disco ou fita, onde esperam para ser executados seqüencialmente. Quando um programa é iniciado ele tem a posse total do sistema até que sua execução termine. Quando um programa termina, um outro programa (também chamado Job) é colocado em execução imediatamente. · Os programas que são executados em batch não precisam de interação com o usuário. Eles lêem e gravam seus dados de discos ou fitas.
S. O. Multitarefa / Multiprogramável Sistemas de Tempo Compartilhado: Os sistemas de tempo compartilhado (time–sharing) permitem a interação dos usuários com o sistema, basicamente através de terminais de vídeo e teclado (interação on–line). Dessa forma, o usuário pode interagir em cada fase do desenvolvimento de suas aplicações e , se preciso, modificá-las imediatamente. · Para cada usuário, o sistema operacional aloca uma fatia de tempo do processador. Nesses sistemas, não só o processador é compartilhado mas também a memória e os periféricos. O sistema cria para cada usuário um ambiente de trabalho próprio, dando a impressão de que todo o sistema está dedicado, exclusivamente, a ele.
S. O. Multitarefa / Multiprogramável Sistemas de Tempo Real (real time): são bem semelhantes em implementação aos sistemas de tempo compartilhado. A maior diferença é o tempo de resposta exigido na execução das tarefas. Enquanto em sistemas de tempo compartilhado o tempo de resposta pode variar sem comprometer as aplicações em execução, nos sistemas de tempo real os tempos de resposta devem estar dentro de limites rígidos, que devem ser obedecidos, caso contrário, poderão ocorrer problemas irreparáveis. · Nos sistemas de tempo real não existe a idéia de fatia de tempo, utilizada pelos sistemas time-sharing. Um programa executa o tempo que for necessário, ou até que apareça outro prioritário em função de sua importância no sistema. Esta importância ou prioridade de execução é controlada pela própria aplicação e não pelo sistema operacional. · Esses sistemas são normalmente usados em controle de processos, como no monitoramento de refinarias de petróleo, controle de tráfego aéreo, usinas nucleares, etc.
O S. O. quanto aos usuários Monousuário X Multiusuário Pode fornecer programas/serviços para vários usuários, porém este programas serão executados na máquina solicitante (cliente). O Sistema atende diversos usuários com a possibilidade de executar os programas no próprio servidor.
Estrutura de um sistema operacional Sistemas Operacionais são estudados dividindo-se suas principais funcionalidades. Tipicamente divide-se a funcionalidade de um sistema operacional em: · Gerência de processos · Gerência de memória: responsável pelo controle e alocação de memória aos processos ativos. · Sistema de arquivo: responsável pelo acesso e integridade dos dados residentes em memória secundária (por exemplo disco, fita, etc). · Controle de I/O (controle de entrada / saída): responsável pelo controle e execução de operações de Entrada/Saída, bem como da otimização do uso dos periféricos.