Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas Operacionais Análise e Desenvolvimento de Sistemas Ciência da Computação Engenharia da Computação Redes de Computadores Professor: André Sobral e-mail: asobral@unicarioca.edu.br 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 �Sistema Operacional (SO) é um programa colocado entre o hardware do computador e os programas dos usuários de forma a atingir esses dois objetivos. Sistemas Operacionais Introdução �Estrutura do Sistema Computacional: �O sistema computacional pode ser dividido em 4 componentes genéricos: �Hardware - recursos básicos (CPU, memória, dispositivos de E/S) �Sistema Operacional - controla e coordena o uso do hardware entre vários programas aplicativos e usuários �Programas aplicativos e de sistema - define como os recursos de hardware são empregados na solução de um problema (Processadores de texto, compiladores, browsers, SGBDs, vídeos, jogos, etc) �Usuários - Pessoas, máquinas, outros Sistemas Operacionais Introdução �Sistema Operacional - Conceito �Um programa que controla a execução de programas aplicativos �Interface entre aplicativos e hardware �Duas visões para definir o Sistema Operacional: �SO é um alocador de recursos �Gerencia todos os recursos �Decide entre requisitos conflitantes para uso mais eficiente dos recursos �SO é um programa de controle � Controla a execução dos programas para prevenir erros e uso impróprio do computador Sistemas Operacionais Introdução �Objetivos do Sistema Operacional �Tornar mais conveniente a utilização de um computador �“Esconder” detalhes internos de funcionamento �Tornar mais eficiente a utilização de um computador �Gerenciamento “justo” dos recursos do sistema �Facilitar a evolução do sistema �Desenvolvimento, teste e atualização de novas facilidades Sistemas Operacionais Introdução �Sistema Operacional: Interface entre usuário / computador Sistemas Operacionais Introdução �Serviços oferecidos pelo Sistema Operacional: �Criação de programas (Editores, depuradores, compiladores) �Execução de programas (Carga de programas em memória) �Acesso a dispositivos de E/S �Controle de acesso a arquivos �Acesso a recursos de sistema (Proteção entre usuários) �Contabilidade (Estatísticas, monitoramento de desempenho, sinalizar upgrades necessários de hardware) Sistemas Operacionais Introdução �As diferentes imagens de um Sistema Operacional: �Sistema operacional na visão do usuário: �Imagem que o usuário tem do sistema �Interface oferecida ao usuário para ter acesso a recursos do sistema: �Chamadas de sistema �Programas de sistema �Sistema operacional na visão do projeto �Mecanismos empregados para gerenciar recursos do sistema Sistemas Operacionais Introdução �Chamadas de sistema: �Forma que programas solicitam serviços ao sistema operacional: � Análogo a sub-rotinas: transferem controle para o sistema operacional invés de transferir para outro ponto do programa; �É o núcleo (kernel) do sistema operacional que implementa as chamadas de sistema: �Existem chamadas de sistema associadas a gerência do processador, de memória, arquivos e de E/S Sistemas Operacionais Introdução �Programas de sistema: �Programas executados fora do kernel (utilitários) �Implementam tarefas básicas: �Muitas vezes confundido com o próprio SO (por exemplo compiladores, assemblers e etc.) �Interpretador de comandos (ativado sempre que o SO inicia uma seção de trabalho / interface gráfica de usuário) Sistemas Operacionais Introdução �Histórico dos Sistemas Operacionais: �Primórdios (década de 40): Sistema operacional inexistente �O programador também é o operador �Existe uma planilha para alocação de horário da máquina �O programador controla todo o equipamento �O programa acessa diretamente os periféricos �Programação feita em painéis �Problema: diferença entre velocidade de processamento e codificação do programa Sistemas Operacionais Introdução �Histórico dos Sistemas Operacionais: �Primórdios (década de 40): Sistema operacional inexistente �Von Neumann propôs um computador com capacidade de armazenar instruções em uma memória �Processo de programação mais rápido e flexível �Conceito de “programa armazenado” – “Arquitetura de Von Neumann”. Sistemas Operacionais Introdução �Histórico dos Sistemas Operacionais: �Sistema em lote (batch): �Um conjunto de programas era submetido ao computador de uma só vez �Diminuía o tempo de espera entre a execução dos programas �Permite o melhor aproveitamento do processador Sistemas Operacionais Introdução �Histórico dos Sistemas Operacionais: �Monitor residente (década de 50): é um programa que fica permanentemente em memória. �Função: automatizar a transição entre programas �Funcionamento do monitor residente: �Execução inicial �Controle é transferido para o job (cartões controle) �Quando um job termina o controle retorna ao monitor �O monitor residente carrega o próximo programa Sistemas Operacionais Introdução �Histórico dos Sistemas Operacionais: �Linguagens de Programação: �Com o surgimento das primeiras linguagens (COBOL, FORTRAN) os programas deixaram de ter relação direta com o hardware �O Monitor Residente incorpora rotinas de leitura/gravação �Eliminou a necessidade dos programadores desenvolverem suas próprias rotinas – “Independência de dispositivos” Sistemas Operacionais Introdução �Histórico dos Sistemas Operacionais: �Sistema batch multiprogramado – multitarefa (década de 60) �No monitor residente um programa é executado de cada vez �Evolução: �Manter diversos programas na memória ao mesmo tempo �Enquanto um programa realiza E/S, outro pode ser executado Sistemas Operacionais Introdução �Histórico dos Sistemas Operacionais: �Sistema batch multiprogramado – multitarefa (década de 60) Sistemas Operacionais Introdução �Histórico dos Sistemas Operacionais: �Sistema batch multiprogramado – multitarefa (década de 60) �Multiprogramação: � Manter mais de um programa em “execução” simultaneamente �O tempo do processador é dividido entre vários programas �Os periféricos são melhor utilizados �O processador fica menos tempo parado Sistemas Operacionais Introdução �Histórico dos Sistemas Operacionais: �Sistema batch multiprogramado – multitarefa (década de 60) �Multiprogramação: � Duas inovações de hardware possibilitaram o surgimento da multiprogramação: �Interrupções: sinalizações de eventos �Aviso do periférico (início ou término) �Discos magnéticos �Acesso randômico a diferentes jobs no disco �Melhor desempenho em acesso de E/S Sistemas Operacionais Introdução �Histórico dos Sistemas Operacionais: �Sistemas Timesharing (década de 70): �Tipo de multiprogramação onde cada usuário podia utilizar o processador por pequenos intervalos de tempo �Cada usuário possui um terminal �Interação com o programa em execução �Ilusão de possuir a máquina dedicada a execução de seu programa � Divisão do tempo de processamento entre usuários �Diminui o tempo de resposta Sistemas Operacionais Introdução �Histórico dos Sistemas Operacionais: �Sistemas Timesharing (década de 70): �Sistema Monousuário vs. Multiusuário �Sistema monousuário - Projetados para serem usados por um único usuário �Ex. MS-DOS, Windows 3.x, Windows9x, Millenium �Sistema multiusuário - Projetados para suportar várias sessões de usuários em um computador �Ex. Windows NT (2000), UNIX Sistemas Operacionais Introdução �Histórico dos Sistemas Operacionais: �Sistemas Timesharing (década de 70): �Sistema Monotarefa vs. Multitarefa �Sistema monotarefa - Capazes de executar apenas uma tarefa de cada vez �Ex. MS-DOS �Sistema multitarefa – Projetados para suportar várias sessões de usuários em um computador. Existem dois tipos de sistemas multitarefas: �Não preemptivos (cooperativo) �Preemptivos Sistemas Operacionais Introdução �Tipos de Sistemas Operacionais: Sistemas OperacionaisSistemas Monoprogramáveis/ Monotarefa Sistemas Multiprogramáveis/ Multitarefa Sistemas com Múltiplos Processadores Tipos de Sistemas Operacionais Introdução �Histórico dos Sistemas Operacionais: �Sistemas com Múltiplos Processadores: �Possui duas ou mais UCPs interligadas e trabalhando em conjunto �Permite a execução de vários programas ao mesmo tempo �Permite que um programa seja subdividido e executado em mais de um processador �Apresenta os mesmos benefícios da multiprogramação: �Escalabilidade, disponibilidade e balanceamento de carga Sistemas Operacionais Introdução �Histórico dos Sistemas Operacionais: �Sistemas com Múltiplos Processadores : �Sistemas fracamente acoplados (loosely coupled system): �Máquinas independentes (cada máquina possui seu próprio sistema operacional) �Sistemas computacionais conectados através de linhas de comunicação �Cada sistema tem sua própria memória principal Sistemas Operacionais Introdução �Histórico dos Sistemas Operacionais: �Sistemas com Múltiplos Processadores: �Sistemas fortemente acoplados (tightly coupled system) �Processadores compartilham memória e relógio comuns �Dispositivos de E/S gerenciados pelo mesmo Sistema Operacional �Comunicação é realizada através de memória Sistemas Operacionais Introdução �Tipos de Sistemas Operacionais: Sistemas Operacionais Sistemas Fortemente Acoplados Sistemas Fracamente Acoplados Sistemas com Múltiplos Processadores Introdução �Histórico dos Sistemas Operacionais: �Sistemas Operacionais de tempo real: �Empregado para o controle de procedimentos que devem responder dentro de um certo intervalo de tempo �Ex. Experimentos científicos, tratamento de imagens médicas, controle de processos etc. �Noção de tempo real é dependente da aplicação (milisegundos, minuto, horas etc) Sistemas Operacionais Introdução �Tipos de Sistemas Operacionais: Sistemas Operacionais Sistemas Batch Sistemas de Tempo Compartilhado Sistemas de Tempo Real Sistemas Multiprogramáveis/ Multitarefa Próxima Aula �Componentes de um Sistema Operacional Sistemas Operacionais
Compartilhar