O que é Sistema Operacional?

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

SISTEMAS OPERACIONAIS
Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Histórico dos Sistemas Operacionais
Sistema Operacional Introdução
Histórico dos Sistemas Operacionais
Sistemas Operacionais
Noções de Sistemas Operacionais
Sistemas Operacionais de Rede Professor: João Paulo de Brito Gonçalves
Sistemas Operacionais
Sistemas Operacionais
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Introdução à Informática
Sistemas Operacionais
SSC SISTEMAS OPERACIONAIS I
SSC SISTEMAS OPERACIONAIS I
Estudo de Caso 1: UNIX e LINUX
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Curso Técnico em Manutenção e Suporte em Informática
Curso Técnico em Manutenção e Suporte em Informática
09/03/10 20:13 Claudio de Oliveira – 1/21.
Sistemas Operacionais Introdução
Lógica de Programação UNIDADE 1 – Introdução a) Computador
Sistemas Operacionais
EN SISTEMAS OPERACIONAIS
Sistemas Operacionais
GSO I ETEC João Bellarmino – Unidade Itapira 1º Módulo
SISTEMAS OPERACIONAIS
Faculdade Cambury Sistemas Operacionais
Sistemas Operacionais
Introdução a Sistemas Operacionais
Sistemas Operacionais
GESTÃO DE SISTEMAS OPERACIONAIS II
Noções de Software Escola Almirante Soares Dutra
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Introdução à Informática
Sistemas Operacionais
Faculdade JK Guará Curso: Sistema de Informação
Introdução aos Sistemas Operacionais
Introdução a Sistemas Operacionais. SISTEMAS COMPUTACIONAIS HARDWARESOFTWARE USUÁRIOS.
Sistemas Operacionais
Sistemas Operacionais
Computação L1: Infra-Estrutura Básica
Sistemas Operacionais
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
Sistemas Operacionais
Zeque - Grad. CC1 Sistemas Operacionais Curso de Ciência da Computação da UFPE Prof. José Queiroz - ZEQUE.
Sistemas Operacionais
Sistemas operacionais
INTRODUÇÃO AOS SISTEMAS OPERACIONAIS
FUNDAMENTOS DE COMPUTAÇÃO
ESTRUTURA DO SISTEMA OPERACIONAL
Infra-Estrutura de Software
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Sistemas Operacionais Aula 2 Danielle Costa
Sistemas Operacionais Funcionamento Básico
Sistemas Operacionais
Escola de Engenharia de Piracicaba Administração Sistema de Comunicação de Dados Aula 1 – Introdução Alberto Martins Júnior Flávio I. Callegari.
Sistemas Operacionais IV – Gerenciamento de E/S
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais Prof.: Gustavo Wagner
Capítulo 4 Estrutura do Sistema Operacional
Transcrição da apresentação:

O que é Sistema Operacional?

Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo processador, de forma semelhante aos programas dos usuários. Sua principal função é controlar o funcionamento de um computador, gerenciando a utilização e o compartilhamento dos seus diversos recursos, como processadores, memórias, e dispositivos de entrada e saída.

Introdução Sem o sistema operacional, um usuário para interagir com o computador deveria conhecer profundamente diversos detalhes sobre hardware do equipamento, o que tornaria seu trabalho lento e com grandes possibilidades de erros. O sistema operacional tem por objetivo funcionar como uma interface entre o usuário e o computador, tornando sai utilização mais simples, rápida e segura.

Exemplos: Windows, UNIX, OS/2 Introdução Definição de SO: é um programa cuja tarefa principal é controlar o funcionamento do computador, facilitando seu uso e gerenciando seus recursos Funções: Facilitar o acesso aos recursos do sistema Gerenciar o compartilhamento dos recursos do sistema Exemplos: Windows, UNIX, OS/2

Onde está o SO?

Sistema computacional multicamada Linguagens de Programação Programas de aplicação Aplicações Compiladores, editores, shell Programas do sistema Estamos Aqui Sistema Operacional Linguagem de Máquina Hardware Microarquitetura Dispositivos Físicos Organização e Arquitetura de Computadores I e II

SO Parte do software que executa no modo supervisor Demais programas executam no modo usuário Funciona como uma máquina estendida ou máquina virtual mais fácil de programar que o hardware Fornece serviços que os programas podem usar

SO Funciona como um gerente de recursos Manter o controle sobre quem está usando qual recurso Gerenciamento no tempo X espaço

Histórico dos S. Operacionais Primeira Geração (1945-1955): Válvulas e Painéis Surgimento dos primeiros computadores digitais Surgimento do modelo de von Neumann Máquinas enormes, com milhares de válvulas Não havia Linguagens de Programação Não havia Sistema Operacional Utilizado para cálculos matemáticos Uma mesma equipe projetava, construía, programava, operava e realizava manutenção de cada máquina Programação era feita via painéis, inseridos no computador. Torcia-se para que nenhuma das válvulas queimasse durante a execução.

Histórico dos S. Operacionais Arquitetura de von Neumann: UCP Unidade de Controle Unidade Aritmética e Lógica Dispositivo de Entrada Dispositivo de Saída Armazenamento

Histórico dos S. Operacionais Segunda Geração (1955-1965): Transistores e Sistemas Batch Aumento de velocidade de processamento, graças à troca de válvulas por transistores (semicondutores) Início do domínio IBM (mainframes) Aparecimento de Linguagens de Programação como Assembly e FORTRAN Uso de cartões perfurados Processamento de Jobs era feito em Lote (batch) Surgimento de Sistemas Operacionais, como o FMS (Fortran Monitor System) Separação entre projetistas, fabricantes, programadores e técnicos de manutenção

Histórico dos S. Operacionais Terceira Geração (1965-1980):CIs e Multiprogramação IBM lança a idéia de uma família de computadores compatíveis (série 360) Surgimento de SOs mais voltados ao usuário (como o OS/360 da IBM) Criação da técnica de multiprogramação Criação da técnica de spooling (Simultaneous Peripheral Operation On Line) Através da criação do terminal de vídeo e teclado foi possível a interação on-line Surgimento dos sistemas de Compartilhamento de tempo (Timesharing) Apesar dos problemas do OS/360, houve a popularização de novas técnicas.

Histórico dos S. Operacionais Terceira Geração (1965-1980): CIs e Multiprogramação Minicomputadores com 4K de memória Criação do UNIX por Ken Thompson, do Bell Labs: um sistema multiusuário, multiprogramado e extremamente sofisticado para sua época Criação do Minix  Linux

Histórico dos S. Operacionais Quarta Geração (A partir de 1980): Computadores Pessoais Desenvolvimento da tecnologia LSI (Large Scale Integration) milhares de transistores encapsulados em um chip de 1cm2 Surgimento dos computadores pessoais (PC) Sistemas Operacionais e aplicativos voltados ao usuário final (user-friendly)  GUI Domínio de PCs baseados em processadores INTEL (8088, 80286, 80386, 80486, Pentium, ...) Surgimento dos sistemas operacionais de rede e sistemas distribuídos

Tipos de Sistemas Operacionais Sistemas com Múltiplos Processadores Sistemas Monoprogramáveis Sistemas Multiprogramáveis

Tipos de Sistemas Operacionais Sistemas Monoprogramáveis/Monotarefas Esse sistema foi projetado para gerenciar a execução de um único programa (job) por vez Qualquer outro programa para ser executado, deve aguardar o término do programa corrente Nesse sistema o processador, a memória e os periféricos permanecem exclusivamente dedicados à execução de um único programa

Tipos de Sistemas Operacionais Sistemas Multiprogramáveis/Multitarefas Os sistemas multiprogramáveis permitem que vários programas possam usar os diversos recursos existentes De acordo com o número de usuários que interagem com o sistema, podem ser: Monousuário Multiusuário

Tipos de Sistemas Operacionais Sistemas Multiprogramáveis/Multitarefas Os sistemas multiprogramáveis também podem ser classificados pela forma com que suas aplicações são gerenciadas Sistemas Multiprogramáveis Sistemas em Batch Sistemas de Tempo Compartilhado Sistemas de Tempo Real

Tipos de Sistemas Operacionais Sistemas Batch Caracterizam-se por terem seus programas armazenados em disco ou fita, onde esperam para ser executados seqüencialmente Geralmente, esses programas não exigem interação com os usuários, lendo e gravando dados em discos ou fitas

Tipos de Sistemas Operacionais Sistemas de Tempo Compartilhado Permitem a interação dos usuários com o sistema, através de terminais que incluem vídeo, teclado e mouse Para cada usuário, o SO aloca uma fatia de tempo do processador Uso cíclico do processador Provê maior interatividade

Tipos de Sistemas Operacionais Sistemas de Tempo Real O tempo é um parâmetro fundamental Os tempos de resposta estão dentro de limites rígidos, que devem ser obedecidos Alocação do processador leva em conta restrições de tempo Sistemas TR críticos X não-críticos

Tipos de Sistemas Operacionais Sistemas com Múltiplos Processadores Sistemas Monoprogramáveis Sistemas Multiprogramáveis

Tipos de Sistemas Operacionais Sistemas com Múltiplos Processadores Caracterizam-se por possuir duas ou mais CPU´s interligadas, trabalhando em conjunto Um fator importante nesses sistemas é a forma de comunicação entre as UCP´s e o grau de compartilhamento da memória

Tipos de Sistemas Operacionais Sistemas com Múltiplos Processadores Multiprocessadores (memória compartilhada) Multicomputadores (memória local privada) Sistemas Simétricos Sistemas Assimétricos S. O. de Rede S. O. Distribuído

Conceitos Básicos de SO O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários do sistema e suas aplicações, bem como a outras rotinas do próprio sistema Independentemente do tipo de SO, todos eles têm certos conceitos básicos que são fundamentais para entendê-los. Esse conjunto de rotinas é chamado de núcleo do sistema ou kernel

Conceitos Básicos de S.O. As principais funções do núcleo são: tratamento de interrupções criação e eliminação de processos sincronização e comunicação entre processos gerência de memória gerência do sistema de arquivos gerência de E/S

Conceitos Básicos de S.O. Solicitação de serviços ao SO Chamadas ao sistema Chamadas ao sistema são a porta de entrada para ter acesso ao núcleo do sistema operacional Para requisitar serviços ao SO: chamadas ao sistema. Interface entre o programa e o SO. Qual a diferença entre uma chamada de procedimento normal e uma chamada ao sistema? Aplicação Chamadas ao Sistema Núcleo Hardware

Conceitos Básicos de S.O. Chamadas  procedimentos de biblioteca que o programa pode chamar Transferência de controle para o SO através de um trap Alternância para o modo supervisor SO checa parâmetros para identificar o serviço requisitado SO executa procedimento para atender a solicitação SO informa resultado da operação realizada, devolvendo o controle ao programa do usuário Para requisitar serviços ao SO: chamadas ao sistema. Interface entre o programa e o SO. Cada SO tem seu próprio conjunto de chamadas.

Tratador da chamada ao sistema Espaço do núcleo (Sistema Operacional) Exemplo de uma Chamada ao Sistema cont=read(arq,buffer, nbytes) Espaço do usuário read da biblioteca Memória principal Figura simplificada do que ocorre ao fazer uma chamada read. Qual a diferença entre uma chamada de procedimento normal e uma chamada ao sistema? TRAP Despache Tratador da chamada ao sistema Espaço do núcleo (Sistema Operacional)

Conceitos Básicos de S.O. As chamadas ao sistema podem ser divididas em grupos de função: Gerência de processos fork, kill, CreateProcess Gerência de arquivos open, read, write, close, mkdir, chmod, CreateFile

Estrutura de Sistema Operacionais Estrutura do SO: É a maneira como o código do sistema é organizado e como seus diversos componentes estão inter-relacionados Existem basicamente quatro abordagens: Sistemas Monolíticos Sistemas em Camada Máquinas Virtuais Sistemas Cliente-Servidor

Estrutura de Sistema Operacionais Sistemas Monolíticos Não há estruturação visível SO é escrito como um conjunto de procedimentos, cada um dos quais podendo chamar qualquer dos demais sempre que necessário Cada procedimento é visível a todos os outros

Estrutura de Sistema Operacionais Sistemas em Camadas Hierarquia de camadas A camada superior usa serviços da camada inferior A maioria dos SO modernos é baseada nesta estrutura: UNIX, OS/2, MS-Windows, entre outros

SO em Camadas Camada 4 Camada 3 Camada 2 Camada 1 Camada 0 Programas de Usuário Camada 4 Administrar os dispositivos de E/S Gerência dos Dispositivos de Entrada/Saída Camada 3 Administra a comunicação entre cada processo Camada 2 Comunicação operador-processo Camada 1 Gerência de memória Responsável pela alocação de espaço Alocação do processador e implementação da multiprogramação Camada 0

Estrutura de Sistema Operacionais Máquinas Virtuais Várias cópias de um único hardware Requisições feitas à máquina virtual são mapeadas para o hardware real Cópias Virtuais Como cada máquina virtual é uma cópia exata do hardware, cada uma delas pode executar qualquer SO capaz de ser executado diretamente sobre o hardware. Cada máquina virtual pensa que tem seu próprio disco e seus próprios recursos. Exemplo: JVM. Máquina virtual para obter interoperabilidade. SO1 SO1 SO2 Monitor de máquina virtual Hardware

Estrutura de Sistema Operacionais Sistemas Cliente-Servidor A tendência é tornar o núcleo do sistema operacional o menor e mais simples possível Serviços do SO são implementados como processos de usuário Sempre que uma aplicação deseja algum serviço ela solicita ao processo responsável A aplicação que solicita o serviço é chamada de cliente, enquanto o processo que responde à aplicação é chamado de servidor

Estrutura de Sistemas Operacionais Sistemas Cliente-Servidor Função do núcleo: tratar da comunicação entre clientes e servidores Apenas o núcleo executa no modo supervisor Adaptabilidade ao uso em sistemas distribuídos

SO Cliente Servidor Modo usuário Modo Kernel Núcleo Hardware Servidor de memória cliente Servidor de rede Servidor de processo Servidor de arquivo Modo usuário Modo Kernel Núcleo Hardware