Sistemas de Computadores e Redes Breve Introdução à sua Arquitectura

Documentos relacionados
Adriano Mauro Cansian 2

PROCESSAMENTO DE DADOS

Figura 1 - O computador

Prof. Sandrina Correia

Introdução aos Computadores

Cadeira de Tecnologias de Informação. Ano lectivo 2007/08. Conceitos fundamentais de Hardware

Introdução à Programação 2006/07. Computadores e Programação

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas)

SISTEMAS INFORMÁTICOS

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Curso EFA Técnico/a de Informática - Sistemas. Óbidos

Primeiros "computadores" digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna

AULA TEÓRICA 2 Tema 2. Conceitos básicos de informática, computadores e tecnologias de informação. Sistemas de numeração (continuação)

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Memória principal; Unidade de Controle U C P. Unidade Lógica e Aritmética

Áreas de aplicação das TIC

Introdução. à Estrutura e Funcionamento de um Sistema Informático

Informática Aplicada

Tecnologia - Conjunto de instrumentos, métodos e processos específicos de qualquer arte, ofício ou técnica.

Estrutura e funcionamento de um sistema informático

Introdução à estrutura e funcionamento de um Sistema Informático

Escola Secundária de Emídio Navarro

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Tecnologia da Informação. Prof Odilon Zappe Jr

Tecnologia - Conjunto de instrumentos, métodos e processos específicos de qualquer arte, ofício ou técnica.

Introdução à Arquitetura de Computadores

Aula 01 Introdução à Informática. Prof. Bruno Gomes

Introdução a Informática. Prof.: Roberto Franciscatto

Tecnologia e Sistemas de Informações Administração dos Recursos de Hardware e Software

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

Contextualização: Sistemas de Computação

Introdução às Tecnologias de Informação e Comunicação. Conceitos Introdutórios

Computador. Algumas definições

Fundamentos de Sistemas de Informação Hardware: Dispositivos de Entrada, Processamento e Saída

FUNDAMENTOS DE HARDWARE COMO FUNCIONA UM PC? Professor Carlos Muniz

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

INFORMÁTICA. Prof. Jacinto José Franco

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

TIC TECNOLOGIAS DA INFORMAÇÃO (TI) TECNOLOGIAS ORIGEM DA PALAVRA

Introdução aos Sistemas Operativos

INFORMÁTICA BÁSICA. Prof. Rafael Zimmermann

Computador. 1982: os computadores são ferramentas que nos permitem fazer cálculos rápida e comodamente

for Information Interchange.

Capítulo I : Noções Gerais

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

Unidade 1 - Objectivos das Tecnologias Informáticas

CURSO BÁSICO DE INFORMÁTICA

Escola Secundária de Emídio Navarro

Disciplina: Introdução à Informática Profª Érica Barcelos

Andrique Amorim INTRODUÇÃO A INFORMÁTICA

INSTALAÇÃO e MANUTENÇÃO de MICRO COMPUTADORES

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

Referencial do Módulo B

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

Binária. Introdução à Informática. Introdução à Informática. Introdução à Informática. Introdução à Informática. Bit. Introdução à Informática

Prof. Esp. Lucas Cruz

Prof.Msc Jocênio Marquios Epaminondas.

Estrutura geral de um computador

Que tipo de arranjo de computadores e processamento computacional traria o maior benefício para a organização?

AULA 1. Informática Básica. Gustavo Leitão. Disciplina: Professor:

Componentes de um Sistema de Operação

Aplicativos Informatizados da Administração. Hardware A evolução e o impacto dos computadores nas áreas de negócios.

Computador = Hardware + Dados

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

Conceitos Básicos sobre Sistema de Computação

Estrutura de Dados. Ricardo José Cabeça de Souza Parte 1

Se ouço esqueço, se vejo recordo, se faço aprendo

3. Arquitetura Básica do Computador

1. CAPÍTULO COMPUTADORES

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

ISL - Introdução. Sistema. Binário. Introdução. Tipos de Computador. Sub title text goes here. Unused Section Space 2. Unused Section Space 1

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

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

UCP. Memória Periféricos de entrada e saída. Sistema Operacional

Programação de Computadores

Capítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal. Memória principal

Prof. Lázaro Nogueira

ARQUITETURA DE COMPUTADORES

Conjunto organizado de informações da mesma natureza, agrupadas numa unidade independente de processamento informático

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Introdução à Engenharia de Computação

Capítulo 2. Noção de hardware. As componentes de um computador.

NOÇÕES DE INFORMÁTICA Agente de Polícia Federal 2012

Tecnologias da Informação e Comunicação

Organização de Computadores Hardware

Informática e informação 2

ARQUITETURA DE COMPUTADORES

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

INFORMÁTICA PARA GESTÃO I Curso Superior de Gestão de Marketing

Componentes de um computador típico

LÓGICA DE PROGRAMAÇÃO

Montagem e Manutenção de Computadores Aula1

05/02/2014 O QUE É UM COMPUTADOR? O QUE É UM COMPUTADOR? O QUE É UM COMPUTADOR? PENSAR EM INFORMÁTICA É PENSAR EM:

MEMÓRIA. 0 e 1 únicos elementos do sistema de numeração de base 2

Estrutura de um Computador

Hardware e Software. Exemplos de software:

Transcrição:

Sistemas de Computadores e Redes Breve à sua Arquitectura Pedro Barahona DI/FCT/UNL aos Computadores e à Programação 2º Semestre 2011/2012 30/31 Maio 2012 1 Sistemas de Computadores e Redes: Breve

Representação da Informação Os computadores são máquinas que permitem manipulação de símbolos (números, texto, imagem, som,...). No entanto, todos estes símbolos podem ser obtidos a partir de símbolos binários 0/1 ou bits (binary digit), mais fáceis de armazenar e manipular electronicamente (on-off). Assim toda a informação pode ser considerada como um conjunto ordenado (sequência) de bits cujo valor simbólico depende do contexto. O contexto (por exemplo, o tipo do ficheiro) deverá determinar Qual o tipo de informação representada Qual o código utilizado 2

Representação de Valores Numéricos Por existirem apenas dois dígitos binários, os números são representados em código binário. Neste código a sequência de números inteiros é escrita naturalmente como Sistema Decimal 239 0, 1, 10, 11, 100, 101, 110, 111, 1000,... O valor de um número pode ser obtido através dos pesos dos seus dígitos (potências de 2) 9 10 0 = 9 3 10 1 = 30 2 10 2 = 200 239 Sistema Binário 11101111 1 2 0 = 1 1 2 1 = 2 1 2 2 = 4 1 2 3 = 8 0 2 4 = 0 1 2 5 = 32 1 2 6 = 64 1 2 7 = 128 239 3

Representação de Texto Cada símbolo é normalmente representado por 1 byte de acordo com o código ASCII (American Standard Code for Information Interchange), 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0000! " # $ % & ' ( ) * +, -. / 0001 0 1 2 3 4 5 6 7 8 9 : ; < = >? 0010 @ A B C D E F G H I J K L M N O 0011 P Q R S T U V W X Y Z [ \ ] ^ _ 0100 ` a b c d e f g h i j k l m n o 0101 p q r s t u v w x y z { } ~? 0110 ƒ ˆ Š Œ Ž 0111 š œ ž Ÿ ou de outros mais sofisticados, com dois ou mais bytes, para permitir alfabetos não latinos ã š α И א ف ι 4

Representação de Imagens Na representação por mapa de bits (bit map) uma imagem é uma (muito) longa sequência de bits representando de pontos (pixel picture element) : preto e branco (pixel 1 bit): 1 preto ; 0 branco cores (pixel 3 bytes): vermelho+verde+azul (RGB) Os mapas de bits ocupam muito espaço pelo que se usam frequentemente técnicas de compressão (ex: GIF e JPEG). Uma desvantagem adicional é a dificuldade de aumentar ou diminuir as imagens. Em técnicas de vectores, a imagem é representada como um conjunto de linhas e curvas deixando os detalhes do seu desenho para a componente que produz a imagem (monitor, impressora), permitindo obter mais facilmente ampliações e reduções. 5

Armazenamento de Informação Num computador a informação (programas e dados) é guardada em memória, principal ou secundária (Discos Rígidos, Diskettes, CD/DVD, Flash disks, Pens...). A memória principal é organizada numa sequência de células (palavras), cada uma com um tamanho de 1 ou mais bytes (8 bits) e que pode ser acedida individualmente especificando o seu endereço (RAM random access memory). O número de células da memória principal é geralmente muito grande ( 1 GB), e expressa-se em potências de 2: 2 10 bytes = 1024 bytes = 1 Kilobyte = 1 KB 2 20 bytes = 1024 Kbytes = 1 Megabyte = 1 MB 2 30 bytes = 1024 Mbytes = 1 Gigabyte = 1 GB 2 40 bytes = 1024 Gbytes = 1 Terabyte = 1 TB 2 50 bytes = 1024 Tbytes = 1 Petabyte = 1 PB 6

Armazenamento de Informação As células de memória têm um endereço que é especificado por um número de bits igual ao expoente da potência de 2 utilizada. Por exemplo, para endereçar 1024 = 2 10 células são necessários 10 bits: desde a posição 0 10 = 0000 0000 2 à posição 1023 = 1111 1111 2. endereço 0: 1: 2: 3: 4:... células 01101101 10101110 00001111 01011100 10110011... A memória principal pode ser considerada uma longa sequência de bits, permitindo representações com um tamanho arbitrário de bits. Por exemplo, uma sequência de 32 bits pode ser representada por 4 células consecutivas. 7

Memória Secundária Memória Principal Memória Secundária Disco Rígido Disquetes CDs DVDs Flash A memória secundária complementa a memória principal, de forma não volátil (não se apaga quando se desliga o computador): mais espaço de armazenamento (p.ex: DVD 4 GB); possibilidade de separação física da máquina.. A maior desvantagem destes sistemas relativamente à memória principal é a velocidade de acesso (usa meios mecânicos muito mais lentos mesmo pen disks, cartões SD de memória). 8

Arquitectura Básica de um Computador CPU (Central Processing Unit) Lê instruções Executa insruções Memória Guarda Dados Guarda Instruções Dispositivos de Entrada/Saída Teclado, rato, placa gráfica, placa de som, discos rígido, diskettes, flash disks, impressoras, placa de rede,...) Permite a comunicação com o exterior (utilizador, periféricos, outros computadores...) 9

Arquitectura Básica de um Computador Vias de Comunicação (Buses) Ligam os vários componentes Address Bus Comunica o endereço da memória ou I/O a ser lida/escrita Data Bus Transmite os dados entre o CPU, a memória e o I/O Control Bus Escolhe memória ou I/O Escolhe leitura ou escrita 10

CPU (Central Processing Unit) A unidade central de processamento é constituida por: Uma unidade lógica/aritmética que contém os circuitos que executam a manipulação de dados; Uma unidade de controle que contém os circuitos para a coordenação da actividade da máquina; Um conjunto de registos gerais que servem para armazenar temporariamente os dados que são manipulados na CPU; Dois registos especiais: Um contador (program counter) que contém o endereço da próxima instrução a ser executada; Um registo de instrução (instruction register) que contém a instrução que está a ser correntemente executada. 11

Esquema da Arquitectura de um Computador Address Bus 2001: 2002: 2003: 2004: 2005: 2006: 2007: 5001: 5002: 5003: 1002: LDA 5001 LDB 5002 ADD STO 5003 0013 1036 1049 Address Register (AR) Program Counter (PC) CPU Reg. A Instruction Register (IR) Arithmetic & Logic Unit Reg. O Reg. B Data Bus 12

Exemplo de Funcionamento Executar a (instrução de) atribuição: Z ß X +Y Assume-se O dado X na posição de memória 5001 O dado Y na posição de memória 5002 O dado Z a ser colocado na posição de memória 5003 Programa em Assembly ( Linguagem Máquina): 2001: LDA 5001 (5001) à (Registo A) 2003: LDB 5002 (5002) à (Registo B) 2004: ADD (Reg. A) + (Reg. B) à (Reg. O) 2005: STO 5003 (Registo O) à (1003) 13

Exemplo Ciclo Fetch-Execute das Instruções Fetch Avançar o PC para 2001 Passar o conteúdo do PC para o AR Ler a posição apontada por AR para IR Execute Avançar o PC para 2002 Passar o conteúdo do PC para o AR Ler a posição apontada por AR para o Reg A. 2001: 2002: 2003: 2004: 2005: 2006: 2007: 5001: 5002: 5003: LDA 5001 LDB 5002 ADD STO 5003 0013 1036 1049 14

Linguagens de Programação Os computadores (mais especificamente os processadores) executam programas. Estes programas podem ser escritos em linguagens com vários graus de abstração: desde a linguagem ASSEMBLY (linguagem máquina com algumas mnemónicas) directamente relacionada com o funcionamento de um determinado processador até às linguagens de alto nível (Pascal, C, Java,...), independentes do processador 2001: 2002: 2003: 2004: 2005: 2006: 2007: LDA 5001 LDB 5002 ADD STO 5003 Z ß X+Y 15

Linguagens de Programação Uma característica importante da abstração é poder abstrair um conjunto de instruções numa só instrução. Esta é naturalmente uma propriedade já conhecida da matemática, através da utilização de funções. Por exemplo, é conhecido que a soma da série truncada : x - x 3 /3! + x 5 /5! - x 7 /7! + x 9 /9! +... converge para o valor do seno de x. Assim, para denotar o valor do dobro do seno de x, em vez de escrevermos escrevemos naturalmente 2* (x - x 3 /3! + x 5 /5! - x 7 /7! + x 9 /9! +... ) 2*sen(x) abstraindo todo o cálculo do valor do seno de x na notação sen(x) 16

Programas e Funções De uma forma geral, podemos considerar que uma função tem um valor determinado pelo valor dos seus argumentos. Função F: x à f(x) De uma forma operacional, pode considerar-se uma função como um mecanismo que calcula o valor da função a partir do valor dos seu(s) parâmetro(s) de entrada. Esta noção matemática de função pode ser adaptada para o domínio da computação Programa P: input à output Assim, a execução de um programa pode considerar-se como o mecanismo que determina um qualquer output a partir de um dado input. 17

Compiladores A consideração de diferentes níveis de abstração é naturalmente extremamente útil para se entender os programas executados pelos computadores. Por exemplo, se inicialmente (anos 50) os programas eram escritos em linguagem máquina, essa situação alterou-se rapidamente por razões óbvias de eficiência de programação e manutenção de programas. Em particular, são muito importantes os programas que recebem como input um texto correspondente a um programa escrito numa linguagem de alto nível (por exemplo C); e produzem como output um programa escrito em linguagem máquina. 18

Compiladores Estes programas são os chamados compiladores, naturalmente dependentes da linguagem de alto nível e da linguagem máquina pretendidas, por vezes passando por máquinas virtuais (como a JVM para Java) Programa Pascal Compilador (de C++) Programa Máquina e que são comparáveis conceptualmente a funções sqrt 25 5 19

Sistemas de Operação A consideração de vários níveis de abstração é útil não só para se entenderem os programas executados pelos computadores, mas também para se entender a organização e encadeamento dos vários programas utilizados. Um Sistema de Operação (Windows, UNIX, Linux, Mac OS,...) é um conjunto de programas que permitem operar um computador em alto nível. Por exemplo, em vez de se especificarem todas as instruções necessárias para ler um ficheiro chamado (texto.txt) do disco para a memória, bastará utilizar uma instrução do tipo, read( texto.txt ) disponibilizada pelo sistema de operação às aplicações 20

Aplicações Uma vez estabelecidas as primitivas disponibilizadas por um sistema de operação, vários programas de aplicação podem ser escritos de uma forma independente do computador / processador. Compilador C Compilador Pascal Read(file) Editor de Texto Folha de Cálculo de Processador Browser Bases de Dados Jogos 21

Sistemas de Operação - Shell As principais componentes de um sistema de operação são Interface com o utilizador (shell user interface), que interpreta as instruções dadas pelo utilizador. O Núcleo (kernel) composto por programas de mais baixo nível, que permitem executar essas instruções. Normalmente, a shell disponibiliza uma interface gráfica (GUI Graphical User Interface) cujos objectos (ficheiros, programas...), são representados e manipulados graficamente no monitor como ícones. Uma componente importante das interfaces gráficas é o gestor de janelas, responsável pela divisão do ecrã em espaços denominados janelas e pela sua associação com as respectivas aplicações. 22

Sistemas de Operação - Kernel O Núcleo é composto por um conjunto de programas que executam várias funções: Gestão de Ficheiros: Organizam os ficheiros em hierarquias, e provê instruções para a sua criação, alteração e apagamento. Gestão de Periféricos: Disponibilizam instruções de alto nível para aceder aos dispositivos periféricos (discos, placa gráfica, placa de som, etc...) Gestão de Memória: Organizam a memória para que as zonas de memória (programa e dados) dos vários programas concurrentes (processos) não se confundam. Gestão de Processos: Divide o tempo entre os vários processos, interrompendo-os e retomando-os quando apropriado. 23

Sistemas de Operação Gestão de Ficheiros A função do Gestor de Ficheiros é a coordenação das capacidades de armazenamento da máquina. A informação é armazenada em ficheiros que normalmente são agrupados em directorias organizadas hierarquicamente: C:\ A:\ Program Files... Ficheiro_1 Ficheiro_2 Directoria Programa_1.exe... Ficheiro_3 C:\Program Files\Programa_1.exe A:\Directoria\Ficheiro_3 24

Sistemas de Operação Gestão de Periféricos Os gestores de periféricos (device drivers) são as unidades de software que comunicam com os controladores dos periféricos. Cada device driver é especializado num determinado periférico (uma impressora, um disco rígido, um monitor,...). Assim, através um qualquer computador (genérico) pode ser configurado para um conjunto particular de periféricos com a instalação dos respectivos device drivers. 25

Sistemas de Operação Gestão de Memória O gestor de memória é responsável pela coordenação da utilização da memória principal (RAM). Vários programas e blocos de dados podem estar simultaneamente na memoria principal. Por exemplo: Um processador de texto com vários ficheiros abertos Uma folha de cálculo O browser para aceder à Internet Um gestor de correio electrónico É necessário coordenar a utilização do espaço disponível, e eventualmente, criar a ilusão de um espaço de memória maior (memória virtual) usando por exemplo espaço do disco rígido. 26

Sistemas de Operação Gestão de Processos Um processo é um programa em execução. Os computadores actuais possibilitam a execução de vários processos concurrentemente, isto é, o tempo de CPU é partilhado (time-sharing) pelos respectivos processos. Os gestores dos processos são componentes do sistema operativo responsáveis, pela manutenção De uma lista dos processos em execução Dos respectivos estados (em execução, suspenso,...) Da prioridade dos processos. Dos tempos de CPU atribuidos a cada processo. 27

Sistemas Multi-Utilizadores Até aos anos 70/80 a tecnologia não permitia a construção de computadores pessoais de forma económica. Nessa altura, a arquitectura habitual de um sistema computacional era de um computador mainframe, que incluia vários periféricos comuns (discos, impressora,..) ao qual estavam ligados vários utilizadores através de terminais. Mainframe Impressora Discos Discos 28

Sistemas Multi-Utilizadores Nesses sistemas multi-utilizador o sistema operativo geria os vários utilizadores, dando-lhes, à vez, tempo de CPU, zonas separadas de memória, acesso concorrente aos periféricos,... Com o aparecimento nos anos 80 de computadores pessoais, houve a possibilidade de substituir os terminais individuais por esses computadores pessoais (terminais inteligentes), que permitiam executar de uma forma autónoma várias tarefas. Mainframe Discos Impressora Discos 29

Redes Locais de Computadores Esta mudança deu origem ao aparecimento de redes locais de computadores em que vários computadores pessoais comunicavam entre si (ficheiros, mensagens,...). Salvo em organizações grandes, os mainframes foram substituídos por computadores menos potentes. PC Servidor PC PC Estes servidores, mantêm serviços e periféricos comuns (bases de dados, impressoras, etc...). PC Impressora Base de Dados 30

Redes de Computadores Por outro lado, a tecnologia de comunicações permitiu ligar os servidores em redes de computadores não locais, em que uma infraestrutura de nós intermédios garantia o encaminhamento das mensagens entre servidores e utilizadores finais. PC PC Servidor PC PC PC PC Servidor PC PC 31

Redes Locais de Computadores As redes de computadores foram evoluindo ao longo do tempo desde a ARPANET (rede militar, com acesso a universidades) até à actual INTERNET. os utilizadores ligam-se a servidores internet (ISPs) tornando-se seus clientes e aceddendo a vários tipos de serviços através de programas apropriados, tais como Browsers, dando acesso a páginas e outros serviços Web (suportados no protocolo HTTP). Por exemplo, Internet Explorer, Mozilla Firefox, Opera,...) Transferência de ficheiros (protocolo FTP) Correio Electronico (por ex. Eudora, Netscape, Outlook) Voz (VoIP) por exemplo disponível no MSN Messenger e Skipe 32

Redes de Computadores Servidores Internet (Browsers e Servidores) Correio Electrónico, Bases de Dados, Redes Globais: Nós e Routers PC PC Servidor PC PC Impressora Base de Dados 33