CONCEITOS BÁSICOS SOBRE PROGRAMAÇÃO Programação Orientada a Objetos (POO)
|
|
- Eduarda Ribeiro Paiva
- 8 Há anos
- Visualizações:
Transcrição
1 CONCEITOS BÁSICOS SOBRE PROGRAMAÇÃO Programação Orientada a Objetos (POO) Profa. Vania V. Estrela, Profa. Albany E. Herrmann 1. Programação Programação requer o uso de uma linguagem, cuja sintaxe geralmente é mais restrita do que a de uma linguagem natural como o Português. Apesar disso, uma linguagem de programação é poderosa o suficiente para resolver qualquer problema, que envolva computação e flexível o bastante para permitir resolver um mesmo problema por programas diferentes. O leitor interessado em aprender mais sobre os tópicos abordados nesta apostila deve consultar as referências bibliográficas [1-4]. O sistema operacional (SO) cria um ambiente onde usuários podem confeccionar programas e executá-los sem se preocupar com detalhes de hardware. Podemos imaginar o SO como um intermediário entre o programador e o hardware, o qual oferece bibliotecas com funções de alto nível para ler e escrever dados nestes dispositivos. Exemplos de SOs são o Linux, o Windows, e o MS-DOS. Na hipótese de existir mais de um programa para solucionar um problema, uns podem ser mais eficientes do que outros. Esta eficiência está relacionada principalmente ao tempo de CPU e à quantidade de memória necessários a execução do programa. Logo, espaço de memória e tempo de execução precisam ser conciliados em computação. A correção dos códigos é muito importante e o ideal é que um programa funcione corretamente para qualquer dado de entrada válido. A correção e a eficiência são objetivos fundamentais de qualquer programa, porém é impossível testar um com todas as entradas possíveis. Provar matematicamente a correção de um programa é difícil. Outro fator complicador é que não são conhecidos algoritmos eficientes para resolver vários problemas importantes. O primeiro passo, em se tratando de programação, inicia-se com a confecção de um programa ou código fonte (PF) e termina com a geração de um programa executável (PE) ou código executável.
2 Normalmente, o PF é formado por uma sequência de instruções, cujo formato é especificado por alguma linguagem de programação e deve ser criado num editor de textos (com ou sem formatação, dependendo do ambiente de desenvolvimento). Depois, o PF é submetido a um compilador, para ser analisado e convertido num códigoobjeto (ou programa-objeto; PO). O PO é a versão em linguagem de máquina (números binários) do PF. Caso o programa contenha chamadas a funções das libraries ou bibliotecas (função cosseno, por exemplo), o linker ou ligador combina o PO com a(s) respectiva(s) biblioteca(s) e gera um PE. 1.1 Geração do Código Executável Para cada linguagem de programação, a máquina pode ser vista como um sistema dedicado à execução de programas. Diferentes linguagens fazem com que aparentemente tenhamos diferentes máquinas virtuais, cuja implementação não interessa ao usuário, na maioria dos casos. Em princípio, pelo menos, para quem executa um programa escrito em FORTRAN não faz diferença se o hardware da máquina executa o código FORTRAN diretamente, ou se uma tradução é feita para o código que é finalmente executado (a linguagem da máquina), possivelmente em vários passos. A máquina virtual de uma linguagem de programação pode sempre ser vista como a implementação de uma interface entre o usuário e a máquina. Essa implementação pode ser, até certo ponto, estendida ou modificada pelo usuário. Na prática, a implementação de uma máquina virtual nunca é totalmente transparente (invisível): alguns aspectos da forma pela qual foi feita podem ficar aparentes para seus usuários, através do tempo gasto para a execução, ou de mensagens provenientes de etapas intermediárias da implementação, aspectos esses que deveriam ser invisíveis.
3 Montador: Assembly Compilador: Ling. de Programação Figura 1 Etapas para a geração de um código executável. Para implementar uma linguagem de programação numa máquina, esta deve dispor de circuitos que, para cada instrução da linguagem, se encarregam das ações correspondentes à mesma. Um PE pode ser gerado, a grosso modo, por um dos três tipos de programas auxiliares. Principais Termos: Código-Fonte: Criado via editor de textos, contém os comandos da linguagem de programação (C++, Pascal...) e serve como entrada para o compilador. Código-Objeto (PO) ou Arquivo Objeto: Criado pela conversão do PF em linguagem de máquina. É gerado pelo montador, compilador ou interpretador, quando não há erros no PF (extensões do código-objeto mais comuns:.obj,.o) Ligador ou Linkeditor: Combina o PO com as bibliotecas necessárias a geração do PE (por exemplo, extensões das bibliotecas.dll ou.lib).
4 Programa Executável: Código passível de execução pelo SO (extensão do PE:.EXE) Tempo de Compilação: Intervalo de tempo decorrido para conversão do PF em PO. Tempo de Execução: Começa após a ativação do PE. Para cada arquivo de PF, é gerado um arquivo com um PO, o qual é ligado a outros, através de um ligador, resultando num PE ou biblioteca. Um PO não só contém código objeto, mas também informações sobre alocação de memória, os símbolos do programa e também informações sobre depuração ou debug. Há vários formatos de PO. Originalmente, cada computador possuía formato próprio, mas com o advento de SOs portáveis (como por exemplo o UNIX), outros formatos, foram padronizados e utilizados em diferentes sistemas. É comum o mesmo formato de PO servir tanto para entrada, quanto para saída do ligador, sendo portanto utilizado no PE ou biblioteca gerada. O formato dos POs é parte importante no projeto de um SO: uma vez que afeta o tempo que os programas levam para serem acionados e, assim, afeta o tempo de desenvolvimento dos sistemas. Além disso, se o formato também é utilizado para os PEs, ele influi no tempo que o programa leva para começar a executar (responsividade do programa sob o ponto de vista do usuário final). A maioria dos formatos é estruturada como blocos do mesmo tipo, podendo ser mapeados conforme necessário pelo sistema de gerenciamento de memória virtual do SO, sem necessidade de mais processamento antes de serem utilizados. O tipo mais simples de código objeto executável é o.com do DOS, que contém apenas bytes, sempre carregados no mesmo endereço da memória. Outros formatos, cuja especificação abrange várias páginas, contém várias estruturas e sub-estruturas. Os programas cuja extensão é.exe também contem código em linguagem de máquina executável. 1.2 Geração de Código Objeto Os tradutores dividem-se em tradutores de linguagem fonte e a linguagem simbólica para uma linguagem de máquina (numérica). O tradutor é chamado de montador,
5 quando processa uma linguagem de baixo nível ou Assembly ou linguagem de montagem. Já o compilador traduz de uma linguagem de nível médio ou de alto nível para o código executável. Outra opção é usar um interpretador Montador Traduz literalmente os mnemônicos do Assembly, implementado-os em linguagem de montagem para todas as instruções da máquina e modos de endereçamento, além de traduzir comandos em linguagem de montagem válidos (pseudo-instruções ou diretivas de execução) para seus equivalentes em linguagem de máquina. Por exemplo, programa fonte sob a forma de menemônicos (linguagem de máquina simplificada), cuja extensão é.asm pode ser traduzido para um programa em binário pronto para a execução na RAM (linguagem de máquina). A montagem é um processo simples, porém tedioso e propenso a erros quando feito manualmente. Montadores comerciais geralmente possuem as seguintes características: O programador pode especificar explicitamente as posições de dados e programas durante a execução. Valores de dados na memória podem ser inicializados antes da execução do programa. Rótulos simbólicos (labels) podem ser usados para representar endereços e constantes. Variáveis podem ser definidas num programa em linguagem de montagem e usadas posterioriormente em outros programas. Subrotinas (semelhantes às funções em linguagem de alto nível) podem ser definidas uma vez e serem chamadas onde e quantas vezes for necessário. Permitem a definição de macros, ou seja, trechos em código de máquina, que podem ser definidas uma vez e, depois, instanciadas quando necessário, implicando na substituição da chamada a macro por seu código equivalente. Portanto, trata-se de uma forma resumida de escrever o programa, mas que não implica num código de máquina menor.
6 A maioria dos montadores leem os programas fonte duas vezes, e são chamados de montadores de dois passos (etapas de montagem). O primeiro passo determina o endereço de todos os itens de dados e instruções de máquina, para selecionar quais palavras binárias (instruções conforme serão escritas na RAM) serão geradas para cada linha de código fonte. Os endereços dos itens de dados e instruções são determinados por meio do uso de um contador de programa para a montagem, chamado contador de instrução (program counter ou instruction counter). O contador de instrução gerencia o endereço da instrução executada e dos itens de dados a ela associados durante a montagem, que geralmente é inicializada com 0 (zero). No início do primeiro passo, é incrementado de acordo com o tamanho de cada instrução. Durante este passo, o montador também efetua quaisquer operações aritméticas em tempo de montagem, e insere as definições de todos os rótulos de funções e variáveis e as constantes, em uma tabela chamada Tabela de Símbolos (TS). Código-fonte (Source code) Compilador Código Objeto Código de Máquina (Assembly) Figura 2. Sequência típica para geração de um programa em linguagem de máquina. Figura 3 Etapas envolvidas na geração de um código executável (código de máquina pronto para carregar).
7 PROGRAMA FONTE Dados de Entrada COMPILADOR PROGRAMA OBJETO LIGADOR (LINKER)/ CARREGADOR (LOADER) SISTEMA OPERACIONAL (SO) PROGRAMA EM LINGUAGEM DE MÁQUINA (ASSEMBLY) Resultados (Dados) de Saída Armazenados PROGRAMA EXECUTÁVEL (.exe) Resultados (Tela) Figura 4 Etapas do processo de compilação/montagem. A razão principal para exigir uma segunda passagem do montador é permitir que símbolos possam ser usados no programa antes de serem definidos. Após a primeira passagem, o montador terá identificado todos os símbolos e os colocado na TS. Na segunda passagem, gerará código de máquina, inserindo os identificadores dos símbolos os quais são conhecidos agora Interpretador Programa que lê e executa as tarefas do programa fonte linha a linha, ou seja, cada linha implica em executar uma ação, sem gerar código-objeto explicitamente. Em geral é lento devido à execução passo a passo. A grande vantagem de um interpretador é o maior controle sobre o programa em execução, tornando possível detectar situações de erro invisíveis ou imprevisíveis. Esse tipo de tradução aparece em linguagens de
8 comandos (scripts como os do MATLAB); ou em linguagens de programação, que permitem construções de tamanho não determinado antecipadamente Compilador É um programa que transforma um texto de programa escrito (programa fonte) em uma linguagem de programação de alto/médio níveis (linguagem fonte), num programa equivalente (programa objeto) numa linguagem de baixo nível (geralmente chamada de linguagem objeto). Em geral, o código objeto ainda não está em condições de ser carregado na memória do computador, pois faz-se necessário o mapeamento do programa objeto na RAM; inserção de bibliotecas de software; e resolução de endereços e labels. Adicionalmente, é possível adaptar o código gerado por um compilador para cada comando de acordo com seu contexto, aproveitando diferenças, que não podem ser tratadas com a mesma facilidade pelo interpretador. Um Compilador C++ é um programa, cuja finalidade é traduzir ou converter um programa fonte escrito numa linguagem linguagem fonte para um programa objeto escrito na linguagem objeto; o programa objeto é o resultado da tradução. A compilação também pode gerar PO, que não será executado diretamente, mas o qual será usado em conjunto com outros. Estes programas são chamados de bibliotecas, e fornecem funcionalidades básicas e avançadas. A junção do PO dos programas com o PO das bibliotecas é realizada pelo ligador. 1.3 Ligador (Linker) O ligador coleta procedimentos traduzidos separadamente, ligando-os uns aos outros para que eles possam executarum PE. Se o compilador ou o montador lesse um conjunto de PFs e produzisse diretamente um PE em linguagem de máquina pronto para ser executado, bastaria que um único comando fonte fosse alterado, para que todos os PFs tivessem que ser novamente traduzidos.
9 Usando módulos objeto separados, o único procedimento a ser traduzido seria aquele modificado. Havendo a necessidade de realizar apenas a etapa de ligação dos módulos separados novamente, sendo esta tarefa mais rápida que a tradução. 1.4 Carregadores São programas que colocam módulos de carregamento na memória principal. Conceitualmente, a tarefa do carregador não é difícil, pois consiste em carregar os vários segmentos de memória com seus valores corretos e inicializar certos registradores, tais como o apontador para pilha do sistema, responsável pelo escopo das rotinas em execução e o contador de instruções contido no processador, com seus valores iniciais, indicando assim onde o programa deve ser iniciado. Em SOs modernos, vários programas estão residentes na memória a todo instante, e não há como o montador ou o ligador saber em quais endereços os módulos de um programa irão residir. O carregador deve relocar estes módulos durante o carregamento adicionando um deslocamento a todos os endereços, permitindo desta forma acessar cada módulo individualmente na memória. Esse tipo de carregamento é chamado de carregamento com relocação. Simplificadamente, o carregador modifica endereços relocáveis, dentro de um único módulo de carregamento, para que vários programas passem a residir na memória ao mesmo tempo. 1.5 Ambientes de Desenvolvimento (IDEs) Em muitos casos, os compiladores ou montadores estão acoplados a ambientes de desenvolvimento (IDEs), que incluem outras ferramentas, como por exemplo: Depuradores ou Debuggers visando teste e detecção de erros. Profilers para medir o tempo gasto pelo programa. Software para construção de diagramas. Aplicativo para a edição de programas fontes.
10 1.6 Sistema Operacional (SO) No passado, os usuários dos sistemas interagiam muito mais com o hardware. Atualmente, muitas da funções que eram executadas pelos próprios usuários, são agora realizadas pelo sistema operacional. Reúnem programas, quase sempre transparentes ao usuário, que desempenham rotinas necessárias ao funcionamento do computador: gerenciamento da memória; administração dos dados; acionamento dos dispositivos; e execução de programas utilitários DOS (Disk Operating System) O DOS (Disk Operating System) da Microsoft é um dos mais utilizados no mundo. O MS-DOS trabalha com comandos que informam ao sistema as tarefas a serem realizadas. Tarefas básicas do DOS: gerenciar arquivos e diretórios; manutenção de discos (rígidos e flexíveis); configurar o hardware; otimizar o uso da memória; melhorar o desempenho dos programas; e personalizar o MS-DOS. O MS-DOS indica que está preparado para receber comandos através do aviso de comando ou "prompt". Ex.: a> Os comandos digitados a partir de um prompt como o acima especificam as tarefas a serem realizadas pelo MS-DOS.
11 Referências [1] [2] Stroustrup, Bjarne. (2002). Linguagem de Programação C++. Lisboa. 3. ed. Porto Alegre: Bookman. [3] Patterson, D.A., Hennessy, J.L. (2008). Computer Organization and Design, Fourth Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design). [4] Stallings, W. (2009). Computer Organization and Architecture: Designing for Performance, Prentice Hall, 8 edition, ISBN-13:
Introdução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01
Introdução à Arquitetura de Computadores Renan Manola Introdução ao Computador 2010/01 Introdução Conceitos (1) Computador Digital É uma máquina que pode resolver problemas executando uma série de instruções
Leia maisIntrodução à Computação: Sistemas de Computação
Introdução à Computação: Sistemas de Computação Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
Leia maisProgramação de Computadores. Turma CI-180-B. Josiney de Souza. josineys@inf.ufpr.br
Programação de Computadores Turma CI-180-B Josiney de Souza josineys@inf.ufpr.br Agenda do Dia Aula 2 (06/03/15) Como está organizado um computador Computadores antigos Modelo von-neumann Quais suas partes
Leia maisComputador Digital Circuitos de um computador (Hardware)
Computador Digital SIS17 - Arquitetura de Computadores (Parte I) Máquina que pode resolver problemas executando uma série de instruções que lhe são fornecidas. Executa Programas conjunto de instruções
Leia maisARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X
ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X Índice Traduzindo e iniciando uma aplicação Compiladores Assembladores Linkers Loaders DLLs Iniciando um programa em Java Após toda a matéria abordada nesta
Leia mais3 Revisão de Software
1 3 Revisão de Software O software é indispensável para a utilização do hardware. Sem o software para utilizar o computador precisaríamos ter um profundo conhecimento do hardware. Alguns softwares são
Leia maisIntrodução à Engenharia de Computação
Introdução à Engenharia de Computação Tópico: O Computador como uma Máquina Multinível (cont.) José Gonçalves - LPRM/DI/UFES Introdução à Engenharia de Computação Máquina Multinível Moderna Figura 1 Máquina
Leia maisIntrodução à Engenharia de Computação
Introdução à Engenharia de Computação Tópico: O Computador como uma Multinível José Gonçalves - Introdução à Engenharia de Computação Visão Tradicional Monitor Placa-Mãe Processador Memória RAM Placas
Leia maisCapítulo 7 Nível da Linguagem Assembly
Capítulo 7 Nível da Linguagem Assembly Presente em quase todos os computadores modernos. Implementado por tradução. Linguagem fonte => Linguagem alvo. O programa no arquivo fonte não é executado diretamente
Leia maisCAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM
CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM 71 Introdução Difere dos níveis inferiores por ser implementado por tradução A tradução é usada quando um processador está disponível para uma mensagem fonte mas
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,
Leia maisGerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger
Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger O controle da entrada e saída (E/S ou I/O, input/output) de dados dos dispositivos é uma das funções principais de um sistema operacional.
Leia maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Suporte do Sistema Operacional Material adaptado, atualizado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Objetivos
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
Leia maisCapítulo 4 Gerenciamento de Memória
Capítulo 4 Gerenciamento de Memória 4.1 Gerenciamento básico de memória 4.2 Troca de processos 4.3 Memória virtual 4.4 Algoritmos de substituição de páginas 4.5 Modelagem de algoritmos de substituição
Leia maisUNIP - UNIVERSIDADE PAULISTA. Arquitetura de computadores
UNIP - UNIVERSIDADE PAULISTA Arquitetura de computadores ORGANIZAÇÃO DE COMPUTADORES Bibliografia: MONTEIRO, M. A. Introdução à organização de computadores. 4 ed. RJ. LTC 2001. TANEMBAUM, A. S. Organização
Leia maisMontagem e Manutenção. Luís Guilherme A. Pontes
Montagem e Manutenção Luís Guilherme A. Pontes Introdução Qual é a importância da Montagem e Manutenção de Computadores? Sistema Binário Sistema Binário Existem duas maneiras de se trabalhar e armazenar
Leia maisComputador 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 Os principais elementos de um sistema de computação são a unidade central de processamento (central processing unit CPU), a memória principal, o subsistema de E/S (entrada e saída) e os mecanismos
Leia maisTÉCNICAS DE PROGRAMAÇÃO
TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente
Leia maisORGANIZAÇÃO DE COMPUTADORES MÓDULO 1
ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1 Índice 1. Introdução...3 1.1. O que é um Computador?... 3 1.2. Máquinas Multiníveis... 3 2 1. INTRODUÇÃO 1.1 O QUE É UM COMPUTADOR? Para estudarmos como um computador
Leia maisARQUITETURA DE COMPUTADORES
1 ARQUITETURA DE COMPUTADORES U C P Prof. Leandro Coelho Plano de Aula 2 Aula Passada Definição Evolução dos Computadores Histórico Modelo de Von-Neumann Básico CPU Mémoria E/S Barramentos Plano de Aula
Leia maisDescrição do Produto. Altus S. A. 1
Descrição do Produto O software MasterTool IEC é um ambiente completo de desenvolvimento de aplicações para os controladores programáveis da Série Duo. Esta ferramenta permite a programação e a configuração
Leia maisCONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO
4 CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO CONCEITOS BÁSICOS MS-DOS MICROSOFT DISK OPERATION SYSTEM INSTALAÇÃO E CONFIGURAÇÃO DE UM SISTEMA OPERATIVO LIGAÇÕES À INTERNET O que é um sistema operativo?
Leia maisGerenciamento de memória
Na memória principal ficam todos os programas e os dados que serão executados pelo processador. Possui menor capacidade e custo maior. S.O buscam minimizar a ocupação da memória e otimizar sua utilização.
Leia mais1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO
1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO Desde o seu surgimento, o manuseio da computação é baseado em linguagens de programação. Ela permite que sejam construídos aplicativos
Leia maisHardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)
Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,
Leia maisIntrodução à Sistemas Operacionais. Glauber Magalhães Pires
Introdução à Sistemas Operacionais Glauber Magalhães Pires Agenda O que são sistemas operacionais? Histórico Primeira geração (1945-1955) Segunda geração (1955-1965) Terceira geração (1965-1980) Quarta
Leia maisSimulado Informática Concurso Correios - IDEAL INFO
Simulado Informática Concurso Correios - IDEAL INFO Esta prova de informática é composta por 20 (vinte) questões de múltipla escolha seguindo o molde adotado pela UnB/CESPE. O tempo para a realização deste
Leia maisAlgoritmos DCC 119. Introdução e Conceitos Básicos
Algoritmos DCC 119 Introdução e Conceitos Básicos Sumário Sistemas de Numeração Sistemas Computacionais Estrutura de um Computador Digital Sistemas Operacionais Algoritmo Introdução Formas de representação
Leia maisBreve Histórico & Conceitos Básicos
Breve Histórico & Conceitos Básicos compiladores interpretadores montadores filtros pré-processadores carregadores linkers compilador cruzado (cross-compiler) auto-compilável (bootstraping) auto-residente
Leia maisEngenharia de Software II
Engenharia de Software II Aula 28 Revisão para a Prova 2 http://www.ic.uff.br/~bianca/engsoft2/ Aula 28-28/07/2006 1 Matéria para a Prova 2 Gestão de projetos de software Conceitos (Cap. 21) Métricas (Cap.
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 3 Software Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva Barramento Sistemas Operacionais Interliga os dispositivos de E/S (I/O), memória principal
Leia maisBACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia
O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos
Leia maisOrganização de Computadores Software
Organização de Computadores Software Professor Marcus Vinícius Midena Ramos Colegiado de Engenharia de Computação (74)3614.1936 marcus.ramos@univasf.edu.br www.univasf.edu.br/~marcus.ramos Objetivos: Entender
Leia maisEverson Scherrer Borges João Paulo de Brito Gonçalves
Everson Scherrer Borges João Paulo de Brito Gonçalves 1 Tipos de Sistemas Operacionais Os tipos de sistemas operacionais e sua evolução estão relacionados diretamente com a evolução do hardware e das
Leia maisArquitetura e Organização de Computadores
UNIVERSIDADE FEDERAL RURAL DO DO SEMI-ÁRIDO DEPARTAMENTO DEPARTAMENTO DE DE CIÊNCIAS CIÊNCIAS EXATAS EXATAS E E NATURAIS NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura
Leia maisSistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery
Sistemas Operacionais Curso Técnico Integrado Profa: Michelle Nery Conteúdo Programático CONTAS DE E GRUPOS DE O Microsoft Management Console - MMC Permissões de Segurança de um Console Contas de Usuários
Leia maisArquitetura dos Sistemas Operacionais
Arquitetura dos Sistemas Operacionais Arquitetura de um Sistema Operacional Basicamente dividido em shell é a interface entre o usuário e o sistema operacional é um interpretador de comandos possui embutido
Leia maisSoftware Livre e Engenharia Elétrica
Software Livre e Engenharia Elétrica Diego Cézar Silva de Assunção Henrique Ribeiro Soares José Rubens Guimarães Vilaça Lima Pedro Dias de Oliveira Carvalho Rafael Viegas de Carvalho Carlos Gomes O software
Leia mais1.1. Organização de um Sistema Computacional
1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes
Leia maisProf. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.
Leia maisTópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza
Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados Prof. Hugo Souza Até agora vimos como é formada a infraestrutura física e lógica das bases de dados com os principais componentes
Leia maisInvenções Implementadas por Computador (IIC) Patentes
Invenções Implementadas por Computador (IIC) Patentes O que é uma IIC? Uma IIC é uma invenção que recorre a um computador, a uma rede de computadores ou a qualquer outro dispositivo programável (por exemplo
Leia maisMANUAL DA SECRETARIA
MANUAL DA SECRETARIA Conteúdo Tela de acesso... 2 Liberação de acesso ao sistema... 3 Funcionários... 3 Secretaria... 5 Tutores... 7 Autores... 8 Configuração dos cursos da Instituição de Ensino... 9 Novo
Leia maisConceitos Básicos de Rede. Um manual para empresas com até 75 computadores
Conceitos Básicos de Rede Um manual para empresas com até 75 computadores 1 Conceitos Básicos de Rede Conceitos Básicos de Rede... 1 A Função de Uma Rede... 1 Introdução às Redes... 2 Mais Conceitos Básicos
Leia maisSoftware Básico. Conceito de Linguagem de Máquina e Montagem: introdução ao Assembly. Prof. MSc. Hugo Vieira L. Souza
Software Básico Conceito de Linguagem de Máquina e Montagem: introdução ao Assembly Prof. MSc. Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos estão reservados para o todo
Leia maisProf. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior
Prof. Antonio Almeida de Barros Jr. Introdução Dados Informações Banco de Dados Conceitos Básicos em Bancos de Dados Definição BD - Banco de Dados SGBD - Sistema de Gerenciamento de BD Programa de Aplicação
Leia maisPROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br
- Aula 5 - O NÍVEL DA LINGUAGEM DE MONTAGEM 1. INTRODUÇÃO É relativamente fácil compreender os fundamentos da programação de computadores, sob o ponto de vista da inteligibilidade dos comandos de alto
Leia maisAutoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre
Leia maisAmbiente de Simulação Virtual para Capacitação e Treinamento na Manutenção de. Disjuntores de Subestações de Energia Elétrica,
Ambiente de Simulação Virtual para Capacitação e Treinamento na Manutenção de Disjuntores de Subestações de Energia Elétrica Prof. Dr. Lineu Belico dos Reis EPUSP Resumo: O informe técnico apresenta a
Leia maisConcurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO I Campus Rio Pomba
Questão 01 Assumindo um registrador de 10 bits e utilizando-se de representação binária, com valores negativos representados em código de 2, os valores em representação decimal 235, -189 possuem, respectivamente,
Leia maisagility made possible
RESUMO DA SOLUÇÃO Utilitário ConfigXpress no CA IdentityMinder a minha solução de gerenciamento de identidades pode se adaptar rapidamente aos requisitos e processos de negócio em constante mudança? agility
Leia maisTRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 3-1. A CAMADA DE REDE (Parte 1) A camada de Rede está relacionada à transferência de pacotes da origem para o destino. No entanto, chegar ao destino pode envolver vários saltos em roteadores intermediários.
Leia maisImplementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Leia maisINTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO
Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele
Leia mais2 Ferramentas Utilizadas
2 Ferramentas Utilizadas Esta dissertação utiliza vários outros trabalhos para implementar os mecanismos de adaptação abordados. Essas ferramentas são descritas nas seções seguintes. 2.1 Lua Lua [7, 8]
Leia maisAlgoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva
Algoritmos Estruturas Seqüenciais José Gustavo de Souza Paiva 1 Introdução Objetivo básico da computação auxiliar os seres humanos em trabalhos repetitivos e braçais, diminuindo i i d esforços e economizando
Leia maisDefinição de Programas de Computadores e Linguagem de Programação de Comutadores
Definição de Programas de Computadores e Linguagem de Programação de Comutadores O computador é um equipamento eletrônico composto por circuitos eletrônicos, que trabalham com o estado ligado(1) e desligado(0),
Leia maisOrganização de Computadores 1. Prof. Luiz Gustavo A. Martins
Organização de Computadores 1 1 - INTRODUÇÃO Prof. Luiz Gustavo A. Martins Arquitetura Define os elementos que impactuam diretamente na execução lógica do programa. Corresponde aos atributos visíveis veis
Leia maisTudo o que você precisa saber sobre cartões de memória
Tudo o que você precisa saber sobre cartões de memória Conheça os diferentes tipos de cartões de memória existentes e saiba o que levar em consideração antes de adquirir um modelo. SD, minisd, microsd,
Leia mais8 Threads. 8.1 Introdução
1 8 Threads 8.1 Introdução Uma thread, também chamada de tarefa, pode ser definida como uma parte ou rotina de um processo em execução que compartilha o mesmo espaço de endereçamento, mas tem seu próprio
Leia maisIntrodução às Linguagens de Programação
Introdução às Linguagens de Programação Histórico de Linguagens de Programação O computador não faz nada sozinho Precisamos informar, de forma clara, como ele deve executar as tarefas Ou seja, o computador
Leia maisUNIDADE 6 - PROGRAMAÇÃO MODULAR
UNIDADE 6 - PROGRAMAÇÃO MODULAR Até o momento as estruturas de controle (seqüência, seleção e repetição) de um algoritmo definia-o como um bloco lógico (início e fim). À medida que os problemas a serem
Leia maisSOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum
SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Cronograma Introdução
Leia mais1. SINTAXE DA LINGUAGEM ASSEMBLY
1. SINTAXE DA LINGUAGEM ASSEMBLY Antes de se escrever em assembly, é conveniente construir um fluxograma do programa. Um fluxograma não faz referência à linguagem a utilizar, pelo que pode ser utilizado
Leia maisTurno/Horário Noturno PROFESSOR : Salomão Dantas Soares AULA Apostila nº
UNIDADE 1I: SISTEMA COMPITACIONAL Elementos hardware e periféricos Um sistema computacional consiste num conjunto de dispositivos eletrônicos (hardware) capazes de processar informações de acordo com um
Leia maisLibrix. A LIBERDADE DO LINUX COM A QUALIDADE ITAUTEC Guia de referência
Librix A LIBERDADE DO LINUX COM A QUALIDADE ITAUTEC Guia de referência índice Librix Introdução Librix...03 Manual Eletrônico...03 Opções de Suporte...03 Dicas para a Instalação Configurações Regionais...05
Leia maisLógica para a Programação - 1º semestre AULA 01 Prof. André Moraes
Pág 4 Lógica para a Programação - 1º semestre AULA 01 Prof. André Moraes 1 APRESENTAÇÃO DA UNIDADE CURRICULAR A unidade curricular de Lógica para a programação tem como objetivo promover o estudo dos principais
Leia maisImplementadas por Computador
«Título Dia Aberto da Acção» da PI «Nome Ricardo Formador» Pereira «Título Invenções do Módulo» Implementadas por Computador «Função Desempenhada» Examinador de Patentes Universidade de «Local» Évora «dd.mm.aaaa»
Leia maisSoftware Básico (INF1018)
Software Básico (INF1018) http://www.inf.puc-rio.br/~inf1018 Noemi Rodriguez (noemi@inf.puc-rio.br) Ana Lúcia de Moura (amoura@inf.puc-rio.br) 1 Objetivo do curso Entender como funciona um computador típico,
Leia maisUnidade 11: A Unidade de Controle Prof. Daniel Caetano
Arquitetura e Organização de Computadores 1 Unidade 11: A Unidade de Controle Prof. Daniel Caetano Objetivo: Apresentar as funções o mecanismo de atuação da Unidade de Controle. Bibliografia: - STALLINGS,
Leia maisAlgoritmos e Programação Aula 01 Introdução a Computação
Algoritmos e Programação Aula 01 Introdução a Computação Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com Baseado no material do Prof. Luis Otavio Alvares e do Prof. Dr. Rodrigo Fernandes de Mello
Leia mais1. TSA 12.1.8... 3 1.1 Inovação - TSA 12.1.8... 3 1.1.1 DT_Arquivo_de_Log_do_Integrador_Separado_por_Thread... 3 1.1.2 DT_Central_de_Ajuda_UX9...
TOTVS 1. 12.1.8................................................................................................. 3 1.1 Inovação - 12.1.8...................................................................................
Leia maisO Gerenciamento de Documentos Analógico/Digital
Tipos de GED: Document imaging Document management Document Imaging / Document Management O Gerenciamento de Documentos Analógico/Digital Mundo analógico Criação Revisão Processamento Arquivo Mundo digital
Leia maisCapítulo 15. INICIALIZAÇÃO, TEMPO DE CPU E DOS
Capítulo 15. INICIALIZAÇÃO, TEMPO DE CPU E DOS OBJETIVOS DO CAPÍTULO Inicializar variáveis e constantes junto com suas definições Versões DEBUG e RELEASE de um programa-executável Comandos do FORTRAN:
Leia maisCapítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1
Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de
Leia maisConceitos básicos da linguagem C
Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por
Leia maisManual do Usuário do Integrador de Notícias de Governo
Manual do Usuário do Integrador de Notícias de Governo 1 Versão: 2.0 Manual do Usuário Integrador de Notícias de Governo Envolvidos: Secretaria Executiva do Ministério do Planejamento, Orçamento e Gestão
Leia maisIntrodução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br
Introdução a Banco de Dados Aula 03 Prof. Silvestri www.eduardosilvestri.com.br Arquiteturas de Banco de Dados Arquiteturas de BD - Introdução Atualmente, devem-se considerar alguns aspectos relevantes
Leia maisLinguagem de Montagem 2. Operações e Operandos
Linguagem de Montagem 2 Operações e Operandos Revisão Para executar uma tarefa qualquer, um computador precisa receber instruções precisas sobre o que fazer Esse conjunto de instruções chamamos de algoritmo
Leia maisMODELAGEM E SIMULAÇÃO
MODELAGEM E SIMULAÇÃO Professor: Dr. Edwin B. Mitacc Meza edwin@engenharia-puro.com.br www.engenharia-puro.com.br/edwin Terminologia Básica Utilizada em de Sistemas Terminologia Básica Uma série de termos
Leia maisManual do Usuário. Protocolo
Manual do Usuário Protocolo Índice de capítulos Parte I - Processos............................... 01 1 - Buscar................................ 01 2 - Listar................................ 02 3 - Abertura..............................
Leia maisMF = (M1 * 0,4) + (M2 * 0,6) MF < 6 MF = (MF * 0,6) + (EXA * 0,4)
Informática Aplicada Prof. Gilmar F. Aquino Filho São Vicente, SP 22/02/2016 EMENTA Fundamentos em Informática; O computador; História; Origem; Funcionamento; Componentes; Conceito de Hardware; Conceito
Leia maisEngenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios
Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana
Leia maisArquitetura de Computadores. Introdução aos Sistemas Operacionais
Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4
Leia maisAlgoritmos e Programação Parte Teórica
Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação Parte Teórica Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti
Leia maisSistemas Operacionais
Sistemas Operacionais GERÊNCIA DO PROCESSADOR MACHADO/MAIA: CAPÍTULO 08 Prof. Pedro Luís Antonelli Anhanguera Educacional Gerenciamento do Processador A gerência do processador pode ser considerada a atividade
Leia maisIFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira
IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários
Leia maisCapítulo 2. VARIÁVEIS DO TIPO INTEIRO
Capítulo 2. VARIÁVEIS DO TIPO INTEIRO OBJETIVOS DO CAPÍTULO Conceitos de: variáveis do tipo inteiro, atribuição, avisos e erros de compilação, erros de execução, comentários dentro do programa-fonte Operadores
Leia maisAula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW
Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto
Leia maisAbstrações e Tecnologias Computacionais. Professor: André Luis Meneses Silva E-mail/msn: andreluis.ms@gmail.com Página: orgearq20101.wordpress.
Abstrações e Tecnologias Computacionais Professor: André Luis Meneses Silva E-mail/msn: andreluis.ms@gmail.com Página: orgearq20101.wordpress.com Agenda Introdução Sistemas Computacionais Arquitetura X
Leia maisLinguagem de Montagem
Linguagem de Montagem Uma introdução à Programação Assembly do PC Slides baseados em material associado ao livro Introduction to Assembly Language Programming, Sivarama Dandamudi 1 A Visão do Usuário sobre
Leia maisIntrodução ao Controlo Numérico Computorizado I Conceitos Gerais
Introdução ao Controlo Numérico Computorizado I Conceitos Gerais João Manuel R. S. Tavares Joaquim Oliveira Fonseca Bibliografia Controlo Numérico Computorizado, Conceitos Fundamentais Carlos Relvas Publindústria,
Leia maisGABARITO COMENTADO SISTEMAS OPERACIONAIS. PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida, Vinícius de M. Rios
CURSO - TADS TURMA 2008.1 2 PERÍODO 3 MÓDULO AVALIAÇÃO MP2 DATA 02/10/2008 SISTEMAS OPERACIONAIS 2008/2 GABARITO COMENTADO SISTEMAS OPERACIONAIS PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida,
Leia maisCapítulo 4 Gerenciamento de Memória
Capítulo 4 Gerenciamento de Memória 4.1 Gerenciamento básico de memória 4.2 Troca de processos 4.3 Memória virtual 4.4 Algoritmos de substituição de páginas 4.5 Modelagem de algoritmos de substituição
Leia maisOrganização de Computadores 1
Organização de Computadores 1 5 CONJUNTO DE INSTRUÇÕES Prof. Luiz Gustavo A. Martins Introdução O que é um conjunto de instruções? Coleção completa das instruções que a CPU é capaz de executar (entende).
Leia maisEspecificação do Trabalho
Especificação do Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação, ligação,
Leia mais