Nível do Sistema Operacional



Documentos relacionados
Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais

Classificação Quanto. Sistemas de Lotes (2) Sistemas de Lotes (3)

Sistemas de Lotes (2) Sistemas de Lotes (3) Layout da MP em Sistemas de Lotes. Minimizar o tempo de resposta

Sistemas Operacionais. Introdução

Sistemas Operacionais 2010/1 - Prof. José Gonçalves 1

Sistemas Operacionais. INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR

Introdução a Sistemas Operacionais Aula 04. Prof. Msc. Ubirajara Junior biraifba@gmail.com

Sistemas Operacionais

Introdução à Computação: Sistemas de Computação

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais

Edeyson Andrade Gomes.

Introdução aos Sistemas Operacionais

Introdução à Sistemas Operacionais. Glauber Magalhães Pires

Introdução a Computação

REDES DE COMPUTADORES HISTÓRICO E CONCEITOS

Conceitos Básicos sobre Sistemas Operacionais

Prof.: Roberto Franciscatto. Capítulo 1 Introdução

Sistemas Operacionais

Sistemas Operacionais

Professor: Gládston Duarte

UFRJ IM - DCC. Sistemas Operacionais I. Unidade I Introdução. 11/02/2014 Prof. Valeria M. Bastos

Sistemas Operacionais

UFRJ IM - DCC. Sistemas Operacionais I

SISTEMAS OPERACIONAIS

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistema Operacional Correção - Exercício de Revisão

Everson Scherrer Borges João Paulo de Brito Gonçalves

Sistemas Operacionais Introdução. Professora: Michelle Nery

Sistemas Operacionais. Professor Leslier Soares Corrêa

Organização de Computadores 1. Prof. Luiz Gustavo A. Martins

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

Sistemas Operacionais

INF 1019: Sistemas de Computação (Sistemas Operacionais)

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura e Organização de Computadores

Sistemas Operacionais

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

Capítulo 3 Projeto de Arquitetura

Sistemas Operacionais. Prof. André Y. Kusumoto

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

Arquitetura dos Sistemas Operacionais

Infra-estrutura de Software

Concurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO I Campus Rio Pomba

Introdução aos Sistemas Operacionais. Computador = hardware + software. Como é formado o meu computador? E como estes componentes se comunicam?

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Introdução à Informática

Sistemas Operacionais

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Computador Digital Circuitos de um computador (Hardware)

Apresentação da disciplina. Sistemas Operacionais I N. A disciplina. O Professor. Áreas de atuação na pesquisa. Referências bibliográficas básicas

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

Sistemas Operacionais Arquitetura e organização de sistemas operacionais: Introdução. Prof. MSc. Hugo Souza

Problema: Solução: Vantagens da estruturação em Níveis: Introdução INTRODUÇÃO À ARQUITETURA DE COMPUTADORES. Introdução

Infra-Estrutura de Software. Introdução. (cont.)

FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS PLANO DE ENSINO

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS. 2º TRIMESTRE Patrícia Lucas

Classificação de SO (Sistemas Operacionais) Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva

Introdução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração:

Aula 03-04: Modelos de Sistemas Distribuídos

MF = (M1 * 0,4) + (M2 * 0,6) MF < 6 MF = (MF * 0,6) + (EXA * 0,4)

Introdução. Sistemas Operacionais

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

História dos SOs. Tópicos

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 02 - Estrutura dos Sistemas Operacionais. Cursos de Computação

1

Disciplina: Redes de Comunicação. Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos. Setembro 2013

Sistemas Operacionais

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN

Tipos de sistemas operacionais

Introdução aos Sistemas Operativos

Introdução a Banco de Dados Aula 03. Prof. Silvestri

Sistemas Operacionais Arquitetura e organização de sistemas operacionais: Uma visão estrutural hardware & software. Prof. MSc.

CONCEITOS BÁSICOS DE SISTEMAS OPERACIONAIS. Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA

1.2 Tipos de Sistemas Operacionais

Sistemas Distribuídos Processos I. Prof. MSc. Hugo Souza

Sistemas Operacionais

Programador Web - Pronatec

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS. Prof. André Dutton

Sistemas Operacionais Conceitos Básicos

Pós-Graduação, Maio de 2006 Introdução aos Sistemas Operacionais. Prof. Dr. Ruy de Oliveira CEFET-MT

Introdução à Engenharia de Computação

Gerenciamento de memória

Prof.: Roberto Franciscatto. Capítulo 1 Introdução

Infra-estrutura de Software. Apresentação!

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

26/09/2015. Windows Linux Mac OS/X IBM OS/2 Sun Solaris Google Android. MS-DOS Outros... O QUE É? SISTEMAS OPERACIONAIS

Sistemas Operacionais. Alexandre Meslin

Fundamentos de Sistemas Computacionais Introdução

SISTEMAS OPERACIONAIS 2007

Sistemas Operacionais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Gerência de Memória. Paginação

SISTEMAS OPERACIONAIS

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

Transcrição:

Nível do Sistema Operacional (Aula 14) Introdução a Sistemas Operacionais Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/1

Introdução Hardware Provê os recursos básicos de computação (CPU, memória, E/S,etc.) Programas (aplicações) Definem as maneiras pelas quais os recursos do sistema são usados para resolver os problemas computacionais dos usuários (compiladores, sistemas de banco de dados, vídeo games, programas financeiros, etc.). Usuários Pessoas, máquinas, outros computadores. Fato: o hardware de um computador, sozinho, não fornece um ambiente simples, flexível e adequado para o desenvolvimento e uso dos programas dos usuários. 2

Introdução Visão Abstrata 3

Um Sistema Operacional...... possibilita o uso eficiente e controlado dos diversos componentes de hardware do computador.... implementa políticas e estruturas de software de modo a assegurar um melhor desempenho do sistema de computação como um todo. Nome dado a um conjunto de programas que trabalham de modo cooperativo com o objetivo de prover uma máquina mais flexível e adequada ao programador do que aquela apresentada pelo hardware sozinho 4

Definições A program that controls the execution of application programs. An interface between applications and hardware. Programa que age como um intermediário entre o usuário de um computador e o hardware deste computador. Resource allocator Gerencia e aloca recursos. Control program Controla a execução dos programas de usuário e operações de E/S Kernel O programa executado durante todo o tempo (os demais programas são as aplicações de usuários) 5

Função A principal função de um sistema operacional é prover um ambiente no qual os programas dos usuários (aplicações) possam rodar. Isso envolve: definir um framework básico para a execução dos programas e prover uma série de serviços (ex: sistema de arquivos, sistema de E/S) e uma interface de programação para acesso aos mesmos. 6

Organização Típica (1) Núcleo Responsável pela gerência do processador, tratamento de interrupções, comunicação e sincronização entre processos. Escalonamento de processos (programa em execução) Gerente de Memória Responsável pelo controle e alocação de memória aos processos ativos. Memória Virtual: Segmentação e Paginação Sistema de E/S Responsável pelo controle e execução de operações de E/S e otimização do uso dos periféricos. 7

Organização Típica (2) Sistema de Arquivos Responsável pelo acesso e integridade dos dados residentes na memória secundária. FAT32, NTFS,... Processador de Comandos / Interface com o Usuário Responsável pela interface conversacional com o usuário. 8

Classificação (1) Quanto ao número de usuários: Monousuários: projetados para suportar um único usuário. Ex: MS-DOS, Windows 3x, Windows 9x. Multiusuários: projetados para suportar várias sessões de usuários. Ex: Windows NT(2000), UNIX. Quanto ao número de tarefas: Monotarefa: capazes de executar apenas uma tarefa (um aplicativo) de cada vez. Ex: MS-DOS Multitarefa: capazes de executar várias atividades simultaneamente (Multiprogramação) Ex:Windows, OS/2, Unix. PROCESSO == Programa em Execução Processo 3 Processo 2 Processo 1 9

Classificação (2) Quanto ao tipo de serviço oferecido ao usuário: Sistemas de processamento em lotes ( batch ) Sistemas de tempo compartilhado ( timesharing ) Sistemas de tempo real ( real-time ) 10

Sistemas de Lotes Primeiro tipo de sistema operacional. Monotarefa (ñ suportava multiprogramação) Job é o conceito básico num sistema de lotes, sendo constituído do programa a ser compilado e executado, acompanhado dos dados. 11

Sistemas de Tempo Compartilhado A capacidade e o tempo de processamento da máquina é dividida entre múltiplos usuários, que acessam o sistema através de terminais. Uso da técnica de multiprogramação para a manipulação de múltiplos jobs interativos. Uso de Memória Virtual Jobs são constantemente trocados entre memória e disco ( swap ). 12

Sistemas de Tempo Real Sistemas dedicados a uma classe de aplicações, tipicamente de controle e medição, que exigem monitoramento contínuo de instrumentos. Ex: sistemas de controle industriais, sistemas robóticos, sistemas de realidade virtual, automação doméstica, etc. Ex: QNX, CMX-RTX, LynxOS, RTMX, etc. Possuem restrições temporais bem definidas O tempo de resposta é considerado crítico 13

Evolução dos S.O. x Arquitetura de Comp. Sistemas Mainframes Sistemas Desktop Sistemas Distribuídos Sistemas Handheld Sistemas Paralelos 14

Sistemas Mainframes Primeiros sistemas computacionais usados na resolução de problemas comerciais e aplicações científicas. Nos dias atuais,são projetados para processamento de grande volume de dados. Arquitetura de hardware complexa. Trabalham em multimodo (usualmente batch e time- sharing ). 15

Sistemas Desktop Integração em muito larga escala (VLSI) levou adiante o projeto de miniaturização e barateamento dos equipamentos. Surgiram os microcomputadores (Personal Computer - PC) de 16 bits da IBM e o Sistema Operacional da Microsoft MS-DOS, criando a filosofia dos computadores pessoais. Apresenta conveniência para o usuário, com um bom tempo de resposta e uma boa taxa de processamento a um custo relativamente baixo. Pode rodar diferentes tipos de S.O. (Windows, MacOS, UNIX, Linux, etc.) Apesar de monousuárias, os S.O.s permitem que se executem diversas tarefas concorrentemente Multitarefa ou Multiprogramação 16

Sistemas Distribuídos (1) Conjunto de computadores interconectados de forma a possibilitar a execução de um serviço. Requer uma infra-estrutura física de redes (LAN, WAN) e suporte de protocolos de comunicação (TCP/IP). A realização de uma tarefa é distribuída entre vários nós da rede. A existência de várias máquinas é transparente, isto é, o Sistema Operacional fornece uma visão única do sistema Vantagens: Compartilhamento de recursos; Balanceamento de carga; Aumento da velocidade de computação; Maior confiabilidade 17

Sistemas Distribuídos (2) Diferentes arquiteturas Peer to Peer: Sistemas fracamente acoplados onde cada nó é uma máquina independente, com seu próprio S.O. e sua própria memória local Cliente-servidor: Servidores são configurados para satisfazer as consultas dos sistemas clientes (servidor de arquivos, servidor de mail, servidor de ftp, etc.). 18

Sistemas Handheld Sistemas operacionais adaptados para dispositivos móveis, como PDAs Personal Digital Assistants e telefones celulares. Memória limitada, processador mais lento e display de pequenas dimensões. S.O. e aplicações projetados para minimizar o uso do processador (redução do consumo da bateria). Uso possível de tecnologias wireless, como Bluetooth, para acesso remoto a e-mail e navegação Web. 19

Sistemas Paralelos São sistemas com mais de uma CPU atuando de modo colaborativo ( multiprocessor systems ). Os processadores compartilham o barramento, memória e relógio, além de dispositivos periféricos Principais vantagens: Aumento da vazão ( throughput ). n processadores => n vezes mais rápido? Economia de escala; Aumento da confiabilidade. Asymmetric Multiprocessing Relação de mestre-escravo Symmetric Multiprocessing (SMP) Cada processador roda uma cópia idêntica do sistema operacional. A maioria dos sistemas operacionais modernos suporta SMP 20

Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados a um único programa/tarefa. A CPU fica ociosa durante muito tempo enquanto o programa aguarda por um evento (digitação de um dado, leitura do disco, etc.). A memória principal é subutilizada caso o programa não a preencha totalmente. Os periféricos são dedicados a um único programa. Não existe grandes preocupações com a proteção de memória. A complexidade de implementação é relativamente baixa. 21

Monoprogramação (2) 22

Multiprogramação (1) Vários programas (e vários usuários) competem pelos recursos do sistema. O objetivo é manter mais de um programa em execução simultaneamente, dando a ilusão de que cada programa/usuário tem a máquina dedicada para si. A idéia é tirar proveito do tempo ocioso da CPU durante as operações de E/S. Enquanto um programa espera por uma operação de leitura ou escrita outros programas podem estar sendo processados no mesmo intervalo. Maximização do uso do processador e da memória. Maior taxa de utilização do sistema como um todo (redução do custo total máquina/homem). Suporte de hardware: Mecanismo de interrupção (sinalização de eventos). Discos magnéticos (acesso randômico aos programas, melhor desempenho em operações de E/S). Memória Virtual 23

Multiprogramação (2) 24

Memória Virtual Paginada (1) A Memória Virtual é uma extensão da memória RAM Constituida da junção da memória principal com a memória secundária Utilizamos para obter mais memória que o computador possui fisicamente Espaço de endereçamento: número de palavras endereçáveis Se a máquina utiliza endereços de 16 bits => espaço de endereçamento de 2 16 = 64 k endereços No entanto uma máquina pode apresentar uma memória física menor 25

Memória Virtual Paginada (2) Espaço de endereços virtuais x Espaço de endereços físicos Os programas enxergam o espaço de endereços virtuais O espaço de endereçamento virtual é dividido em um conjunto de páginas do mesmo tamanho Ex: Páginas de 64kB, 4MB,... O espaço de endereçamento físico também é dividido de forma similar ao virtual Cada pedaço da memória principal, chamado de Moldura de Página (Frame), deve ser capaz de armazenar exatamente uma página 26

Memória Virtual Paginada (3) A idéia é que o programador possa usar os endereços virtuais O S.O. dá a ilusão de que todos os endereços virtuais são mantidos na memória principal Páginas de 4k 27

Memória Virtual Paginada (3) O S.O. dá a ilusão de que todos os endereços virtuais são mantidos na memória principal A memória virtual deve ser implementada através de uma Tabela de páginas 28

Memória Virtual Paginada (4) Programa em linguagem de máquina gera endereços virtuais Endereços virtuais divididos em 2 campos Endereço da página Endereço do byte (ou palavra), dentro da página CPU transforma endereço virtual em endereço físico 29

Memória Virtual Paginada (5) Exemplo de mapeamento frame frame frames 30

Referências Andrew S. Tanenbaum, Organização Estruturada de Computadores, 5ª edição, Prentice-Hall do Brasil, 2007. Capítulo 6 31