Unidade IIISoftware
Prof. Luciano R. Coutinho
© 2001,02,07
Introdução a Informática
Tópicos
O Computador O Software Esquema do Software Firmware Sistema Operacional Software Aplicativo
Engenharia de Software Licenças de Software
O ComputadorO HardwareA parte física, tangívelComponentes • Mecânicos• Elétricos• Eletrônicos
O SoftwareA parte lógica, intangível
O Software
O software dá vida a máquina!
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
ArmazenamentoEntrada Saída
Memória
CPU
FIRMWARE
SISTEMA OPERACIONALSISTEMA OPERACIONAL
APLICATIVOSAPLICATIVOS
SoftwareSoftware
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
cpuEntrada/saída
memória
armazenamentosecundárioDrivers deDrivers de
DispositivosDispositivos Sistemas deSistemas deArquivosArquivos
Mono/MultiMono/Multi• ProcessamentoProcessamento• TarefaTarefa SegmentaçãoSegmentação
Memória VirtualMemória Virtual
SpoolingSpooling
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
O conjunto hardware+ firmware+SO também é conhecido como plataformaDiz-se que aplicativos são feitos para rodar sobre uma dada plataforma ...
ArmazenamentoEntrada Saída
Memória
CPU
FIRMWARE
SISTEMA OPERACIONALSISTEMA OPERACIONAL
PlataformaPlataforma
Aplicativos
ArmazenamentoEntrada Saída
Memória
CPU
FIRMWARE
SISTEMA OPERACIONALSISTEMA OPERACIONAL
APLICATIVOSAPLICATIVOS
UtilitáriosUtilitários Ferr. Ferr. DesenvolvimentoDesenvolvimento ...... Autom. de EscritórioAutom. de Escritório Autom. BancáriaAutom. Bancária Autom. de EnsinoAutom. de Ensino ...... Aplicações Aplicações CientíficasCientíficas ........
Software usado para solucionar um problema em particular ou realizar uma tarefa específica.
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
AnáliseLéxica
AnáliseSintática
GeraçãoCódigo
Códigomáquina
CódigoFonte
Compilador
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
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
Freeware
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