Prof. Luciano R. Coutinho © 2001,02,07 Introdução a Informática Unidade III Software Prof. Luciano R. Coutinho © 2001,02,07
Tópicos O Computador O Software Esquema do Software Firmware Sistema Operacional Software Aplicativo Engenharia de Software Licenças de Software
O Computador O Hardware A parte física, tangível Componentes Mecânicos Elétricos Eletrônicos O Software A parte lógica, intangível
O Software O software dá vida a máquina! SOFTWARE Os software (programas de computador) são conjuntos de instruções lógicas que dão vida ao computador (hardware). São os software que gerenciam o computador e possibilitam a realização das mais diversas tarefas exigidas pelos usuários SOFTWARE
Esquema do Software APLICATIVOS Software SISTEMA OPERACIONAL FIRMWARE Entrada Armazenamento Saída CPU Memória
Firmware Software mais básico Funções Interface dispositivos entrada/saída e armazenamento Controlar inicialização do sistema Comumente armazenados em memória ROM com nome de BIOS
Sistema Operacional É o conjunto de programas que gerenciam o funcionamento do computador, coordenando harmoniosamente todos os seus elementos. Quatro funções Gerenciar recursos de hardware (entrada/saida, armazenamento, memória, cpu) Controlar a execução de programas Prover uma máquina estendida mais fácil de programar que o hardware nu. Prover uma interface de usuário fácil de utilizar
Recursos de Hardware cpu Spooling armazenamento secundário Drivers de Dispositivos Sistemas de Arquivos cpu Entrada/ saída Mono/Multi Processamento Tarefa Segmentação Memória Virtual memória
Execução de Programas Modelo de Processos Todo programa é executado como um processo Processos recebem recursos para executar Memória Tempo de CPU Arquivos ... Estados Pronto para executar Executando Bloqueado Morto
Máquina estendida O hardware pode ser programado diretamente ... no entanto, é uma tarefa muito difícil! Imagine que você queira montar um enorme quebra cabeça cujas peças são extremamente pequenas ... Se várias dessas peças fossem agrupadas de forma coerente em peças maiores e montar o quebra cabeça partindo desses agrupamentos fosse agora o nosso desafio, este seria bem mais fácil de realizar. Pois bem, o SO pega varias instruções básicas de uma CPU e as agrupa em chamadas de sistemas (macro-instruções) Os programadores ao invés de comporem os programas partindo somente das instruções básicas podem também utilizar as chamadas de sistema para facilitar o trabalho.
Interface com o usuário Dois tipos básicos interface de linha de comando A tela apresenta prompts ao usuário O usuário digita comandos Inteface gráfica (GUI) Icones, janelas, menus, caixas de diálogo, etc. Outra distinção Mono-usuário Multi-usuário
Plataforma Plataforma O conjunto hardware+ firmware+SO também é conhecido como plataforma Diz-se que aplicativos são feitos para rodar sobre uma dada plataforma ... SISTEMA OPERACIONAL FIRMWARE Plataforma Entrada Armazenamento Saída CPU Memória
Aplicativos Utilitários Ferr. Desenvolvimento ... Autom. de Escritório Software usado para solucionar um problema em particular ou realizar uma tarefa específica. Utilitários Ferr. Desenvolvimento ... Autom. de Escritório Autom. Bancária Autom. de Ensino Aplicações Científicas .... APLICATIVOS SISTEMA OPERACIONAL FIRMWARE Entrada Armazenamento Saída CPU Memória
Engenharia de Software Técnicas de gerenciamento e realização de um projeto de desenvolvimento de software Várias etapas: Dentre elas, a programação ... A programação é feita utilizando uma linguagem de programação C Pascal Ada Java ... LP tem sintaxe definida por uma gramática livre de contexto (devida a Chomsky)
Programação hello.c Código Fonte Compilador Código máquina Análise Léxica Análise Sintática Geração Código
Tipos de Desenvolvimento Customizado Feito sob medida, especificamente para as necessidades de uma organização. A organização contrata programadores de computador para projetar, escrever, testar e implementar software. Empacotado Vendido em lojas, catálogos ou sites Web
Licenças de Software Freeware Domínio Público Software de Fonte Aberta (Open Source) Shareware
Freeware O autor fornece o software gratuitamente para ser usado por todos O autor detém o copyright Ele pode impor restrições ao uso O software não pode ser alterado ou redistribuído sem permissão
Domínio Público Software que não tem copyright Pode ser usado e até mesmo alterado sem permissão Tipicamente, é desenvolvido por universidades e/ou instituições de pesquisa usando subvenções do governo
Open Source Uma variação de freeware O código-fonte é disponibilizado Código-fonte: legível por seres humanos Outros programadores podem modificar e redistribuir os programas livremente Ajuda a identificar erros (bugs) e a criar melhorias mais facilmente.
Shareware Software garantido por copyright, distribuído gratuitamente para um período experimental Se você gostar dele, deve registrá-lo, pagando uma taxa A maioria dos autores acrescenta documentação, ampliações, suporte e atualizações gratuitas para estimular as pessoas a fazer o registro
Pirataria Pirataria a aquisição e uso ilegal de cópias de software
Referencias Alcalde, E., Garcia, M. e Penuelas, S. Informática Básica. São Paulo: Makron Books, 1991. BEI. Tecnologia da informação para todos. São Paulo, 2002. http://pt.wikipedia.org/wiki/Software