11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador



Documentos relacionados
CURSO BÁSICO DE INFORMÁTICA

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Informática Software. Prof. Marcos André Pisching, M.Sc.

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Curso de Introdução à Informática Prof: Anilton Joaquim da Silva / Ezequiel Roberto Zorzal

AULA 3 Introdução ao Software

FundamentosemInformática

Resumo. Prof. Alejandro - Introdução à Sistemas Operacionais Resumo Informativo, complemente o material assistindo as Aulas 19/08/2015 1

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

SISTEMAS OPERACIONAIS 2007

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

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

A Evolução dos Sistemas Operacionais

SISTEMAS OPERACIONAIS

Sistemas Operacionais

Noções básicas de Informática: Software

Informática, Internet e multimídia

Algoritmos e Linguagem de Programação I

4 Estrutura do Sistema Operacional Kernel

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

Sist i em em I a n I fo f rm r at m i at zad

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional

Curso Técnico de Nível Médio

Sistemas Operacionais. Prof. André Y. Kusumoto

Curso Técnico em Redes

Sistemas Operacionais

FUNDAMENTOS DE HARDWARE COMO FUNCIONA UM PC? Professor Carlos Muniz

Sistemas Operacionais. Conceitos de um Sistema Operacional

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

Sistema Operacional LINUX

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes

Introdução à Computação

UFRJ IM - DCC. Sistemas Operacionais I

Introdução aos Computadores

Sistemas Operacionais Introdução. Professora: Michelle Nery

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

Figura 01 Kernel de um Sistema Operacional

Introdução ao Processamento de Dados (IPD)

Engenharia de Software

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

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

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton

ESTUDO DE CASO WINDOWS VISTA

Hardware e Software. Exemplos de software:

LINUX. Lapro I Profa. Fernanda Denardin Walker. - Aula 2 - Material adaptado de: Isabel Mansour, Marcia Moraes e Silvia Moraes SISTEMA OPERACIONAL

SISTEMAS OPERACIONAIS. Prof. André Dutton

Organização e Arquitetura de Computadores I. de Computadores

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Universidade do Contestado Campus Concórdia. Curso de Sistemas de Informação Prof.: Maico Petry. Noções de Software

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

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

SISTEMAS OPERACIONAIS

MANUTENÇÃO DE MICRO. Mário Gomes de Oliveira

Introdução. Software (Parte III)

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

Programa A busca da formação integral de adolescentes que habitam as periferias e bolsões de miséria em Cascavel/PR através da saúde, do meio

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

Fundamentos de Sistemas Operacionais

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Prof. Sandrina Correia

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

b) Estabilizador de tensão, fonte no-break, Sistema Operacional, memória principal e memória

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

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

Material 5 Administração de Recursos de HW e SW. Prof. Edson Ceroni

Sistemas Operacionais

Arquitetura de Banco de Dados

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

Sistemas Operacionais 1/66

Noções de Software. André Aziz Francielle Santos

Processamento de Dados

INFORMÁTICA BÁSICA. Prof. Rafael Zimmermann

Sistema de Computação

Introdução a Computação 07 Sistemas operacionais. Márcio Daniel Puntel marcio.puntel@ulbra.edu.br

SISTEMAS OPERACIONAIS

Tecnologia da Informação. Prof Odilon Zappe Jr

Engenharia de Requisitos

Arquitetura de Computadores para. Sistemas Operacionais. Sistemas Operacionais. Sumário

1.1. Organização de um Sistema Computacional

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

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

Sistemas Operacionais

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano

Hardware. Computador. Hardware parte do computador em que você normalmente mete o pé quando seu computador não executa uma tarefa solicitada por você.

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

São programas de computador utilizados para realizar diversas tarefas É a parte lógica do computador, o que faz o computador realmente funcionar.

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

Figura 1 - O computador

Aula 01 Visão Geral do Linux

Taciano Amorim - tacianolamorim@gmail.com. Informática básica. Software

Prof. Esp. Lucas Cruz

CONHEÇA MELHOR SEU COMPUTADOR

UNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE

NOÇÕES DE INFORMÁTICA:

Engenharia de Software III

Hardware e Software. Professor: Felipe Schneider Costa. felipe.costa@ifsc.edu.br

Engenharia de Sistemas Computacionais

Contextualização: Sistemas de Computação

Software Básico (INF1018)

Transcrição:

Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um programa correto e funcional, essa seqüência segue padrões específicos que resultam em um comportamento desejado. Um programa pode ser executado por qualquer dispositivo capaz de interpretar e executar as instruções de que é formado. Quando um software está escrito usando instruções que podem ser executadas diretamente por um processador dizemos que está escrito em linguagem de máquina. A execução de um software também pode ser intermediada por um programa interpretador, responsável por interpretar e executar cada uma de suas instruções. Uma categoria especial e notável de interpretadores são as máquinas virtuais, como a JVM (Máquina Virtual Java), que simulam um computador inteiro, real ou imaginado. O dispositivo mais conhecido que dispõe de um processador é o computador. Atualmente, com o barateamento dos microprocessadores, existem outras máquinas programáveis, como telefone celular, máquinas de automação industrial, calculadora, etc. A Construção de um programa de computador Um programa é feito usando Linguagens de Programação, ou instruções do processador. Normalmente, programas de computador são escritos em linguagens de programação, pois estas foram projetadas para se aproximar das linguagens usadas por seres humanos. Raramente linguagem de máquina é usada para desenvolver um problema, porém, algumas vezes, para aumentar o desempenho, partes de um programa pode ser desenvolvido dessa forma. A Construção de um programa de computador Essa prática, porém, vem caindo em desuso, principalmente devido a grande complexidade dos processadores atuais, dos sistemas operacionais e dos problemas tratados. Porém, muito software feito para usos específicos, como por exemplo software embarcado ou software embutido ainda é feito em linguagem de máquina para aumentar a velocidade ou diminuir o espaço consumido. Em todo caso, a melhoria dos processadores dedicados também vem diminuindo essa prática. 1

A Construção de um programa de computador O Programa tem que ser "carregado" na memória principal para ser executado (no Computador). Após carregar o programa, o computador entra em funcionamento, executando outros programas. As instruções de um programa aplicativo podem ser passadas para o sistema ou diretamente para o hardware, que recebe as instruções na forma de linguagem de máquina. Tipos de Programas de Computador Qualquer computador moderno tem uma variedade de programas que fazem diversas tarefas. Eles podem ser classificados em duas grandes categorias: de sistema (básicos) - incluiu o firmware (A BIOS dos computadores pessoais, por exemplo), drivers de dispositivos, o sistema operacional e tipicamente uma interface gráfica que, em conjunto, permitem ao usuário interagir com o computador e seus periféricos. Tipos de Programas de Computador aplicativo - permite ao usuário fazer uma ou mais tarefas específicas. Os softwares aplicativos podem ter uma abrangência de uso de larga escala, muitas vezes em âmbito mundial; nestes casos, os programas tendem a ser mais robustos e mais padronizados. Programas escritos para um pequeno mercado têm um nível de padronização menor. Firmware - Também conhecido como software embarcado, trata-se de um software que controla o hardware diretamente. É armazenado permanentemente em um chip de memória de hardware, como uma ROM ou EPROM. Sistema Operacional - Sistema operacional (SO) é um conjunto de ferramentas necessárias para que um computador possa ser utilizado de forma adequada. Faz o papel de intermediário entre o aplicativo e a camada física do hardware. Esta é uma das formas de conceituar o termo sistema operacional, como um conjunto que permite a abstração do hardware. Desta forma, se não houvessem sistemas desse tipo, todo software desenvolvido deveria saber se comunicar com os dispositivos de hardware do computador de que precisasse. Quando temos um SO, é ele quem precisa saber lidar com os dispositivos, sabendo falar com a placa de som, com a internet, com os disquetes, etc. 2

Assim, um software que seja feito para funcionar neste sistema não precisará de informações específicas do equipamento. Ao invés disso, ele chamará funções do kernel e o sistema operacional é que fará a comunicação, repassando os resultados. Cada sistema operacional pode ter uma maneira própria e distinta de comunicar-se com o hardware, razão pela qual é comum que softwares feitos para um sistema operacional não funcionem em outro, principalmente no caso de linguagens compiladas. Uma outra forma de conceituar sistema operacional é como um gerenciador de recursos. É função do SO identificar que dispositivos estão ociosos e ocupados, como por exemplo dividir o tempo de uso da CPU entre os vários processos, alocar e gerenciar o uso de memória principal e secundária. Classificações Segundo o tipo de comercialização que adotaram, os sistemas operacionais dividem-se em quatro tipos: Sistemas Proprietários - Aqueles que são pagos e cujo código fonte não é livremente disponibilizado. (Windows, Mac). Sistemas Gratuitos - Aqueles que não são pagos, mas cujo código fonte também não é de livre acesso (BeOS). Classificações Sistemas Open Source (Código Aberto) - Aqueles cujo código fonte é aberto (Unix, BSD). Sistemas Livres - Aqueles que são Open Source, e cujo código fonte ao ser alterado, se distribui sobre a mesma licença (Linux). Classificações Em termos de funcionamento interno, os SOs podem se dividir em três tipos principais, muito relacionados com o desenvolvimento tecnológico: Sistemas mono-tarefa (ex: DOS) Sistemas multi-tarefa (ex: Windows, Linux, Unix) Sistemas multi-processado - Os sistemas multi-tarefa podem ainda ser mono-usuário (BeOS) ou multi-usuários (Unix, Linux) Partes dos Sistemas Operacionais Os sistemas operacionais possuem várias responsabilidades. Podemos citar algumas comuns a vários sistemas: Gerenciamento de Processos - Responsável por gerenciar os processos e Threads, escalonando as tarefas na CPU. O Gerenciamento de Processos é responsável também por manter o sincronismo entre as tarefas e evitar deadlocks. 3

Partes dos Sistemas Operacionais Gerenciamento de Armazenamento - Responsável por gerenciar a hierarquia de memória, viabilizar a memória virtual e manter o sistema de arquivos. Sistema de E/S - Mantém as operações de E/S em disco e outros dispositivos. Sistema de arquivos - Maneira com que os arquivos são armazenados e manipulados dentro de um disco. Partes dos Sistemas Operacionais Segurança - Controla o acesso a partes do sistema ou a todo o SO, definindo permissões de acesso, detectando intrusões e se restaurando após uma ameaça. s Aplicativos Aplicativo (ou aplicativo ou ainda aplicação) é um programa de computador que tem por objetivo o desempenho de tarefas de índole prática, em geral ligadas ao processamento de dados, como o trabalho em escritório ou empresarial. A sua natureza é, portanto, diferente da de outros tipos de software, como sistemas operacionais e ferramentas a eles ligadas, jogos e outro softwares lúdicos, entre outros. Tipos de s Aplicativos cálculo de estruturas, planejamento e controle de projetos, pesquisas operacionais, problemas de engenharia de software. Automação industrial - ativação, programação e controle de máquinas e equipamentos, controle de processos, calibração. Automação comercial - reserva de passagens, contas correntes, pontos de venda, caixas automáticos. Tipos de s Aplicativos Apoio educacional - assistência a instruções, ensino auxiliado pelo computador. Especiais e científicos - teleprocessamento, comunicações, militares, pesquisas espaciais, pesquisas meteorológicas. Artístico - composição se imagens, sons, músicas, vídeos. Entretenimento - execução de jogos, música. Uma linguagem de programação é um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. Uma linguagem permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados serão armazenados ou transmitidos e quais ações devem ser tomadas sob várias circunstâncias. 4

O conjunto de palavras (tokens), compostos de acordo com essas regras, constituem o código fonte de um software. Esse código fonte é depois traduzido para código de máquina, que é executado pelo processador. Uma das principais metas das linguagens de programação é permitir que programadores tenham uma maior produtividade, permitindo expressar suas intenções mais facilmente do que quando comparado com a linguagem que um computador entende nativamente (código de máquina). Assim, linguagens de programação são projetadas para adotar uma sintaxe de nível mais alto, que pode ser mais facilmente entendida por programadores humanos. Linguagens de programação também tornam os programas menos dependentes de computadores ou ambientes computacionais específicos (propriedade chamada de portabilidade). Isto acontece porque programas escritos em linguagens de programação são traduzidos para o código de máquina do computador no qual será executado em vez de ser diretamente executado. Uma meta ambiciosa do Fortran, uma das primeiras linguagens de programação, era esta independência da máquina onde seria executada. Engenharia de software (ES) é uma área do conhecimento da informática voltada para a especificação, desenvolvimento e manutenção de sistemas de software aplicando tecnologias e práticas de ciência da computação, gerência de projetos e outras disciplinas, objetivando organização, produtividade e qualidade. Atualmente, essas tecnologias e práticas englobam linguagens de programação, bases de dados, ferramentas, plataformas, bibliotecas, padrões, processos e a questão da Qualidade de. Os fundamentos científicos para a ES envolvem o uso de modelos abstratos e precisos que permitem ao engenheiro especificar, projetar, implementar e manter sistemas de software, avaliando e garantindo suas qualidades. Além disso, a ES deve oferecer mecanismos para se planejar e gerenciar o processo de desenvolvimento. Pode-se dizer que atualmente temos 4 principais fases a serem seguidas para o desenvolvimento de softwares. Análise ou Estudo de Viabilidade do Projeto - fase em que se analise a situação, estuda a viabilidade e a real necessidade da mudança provocada pelo novo sistema. 5

Elaboração do Modelo Lógico do Sistema - fase em que o sistema é arquitetado em modelos lógicos ou imaginários de forma que consiga solucionar todos os problemas. Implementação - fase em que as idéias são transformadas em prática. É nessa fase que o sistema passa de modelos para um real programa de computador. No final dessa fase, o novo sistema deve estar pronto para ser utilizado. Testes (Internos e Externos) - fase o que foi desenvolvido é testado, pela equipe que desenvolveu (teste interno) e pelo cliente (teste externo). Esta fase define a aceitação ou não do sistema pelo cliente. 6