O documento apresenta conceitos básicos de software, incluindo:
- Definições de software e categorias como software básico, aplicativo e utilitário;
- Sistemas operacionais como software básico essencial para o funcionamento do computador;
- Exemplos de linguagens de programação usadas para desenvolver software.
2. Software
• "Criação intelectual compreendendo os programas, procedimentos,
regras e qualquer documentação correlata à operação de um sistema
de processamento de dados." [ISO 9000-3]
• “(1) Instruções (programas de computador) que, quando executadas,
produzem a função e o desempenho desejados; (2) estruturas de
dados que possibilitam que os programas manipulem adequadamente
a informação e (3) documentos que descrevem a operação e o uso
dos programas” (PRESSMAN, 2001, p.6)
3. Software
• Os programas de computadores podem ser categorizados como:
• Software de Básico
• Software Aplicativo
• Software Utilitário
• Mas antes, Linguagens de Programação...
4. Como é feito um software?
• O software é criado através de uma linguagem de programação, que é
um conjunto padronizado de comandos.
• As linguagens podem ser de alto nível ou de baixo nível:
• Alto nível: que é entendida pelo homem
• Baixo nível: uma linguagem de máquina
8. O que são?
Um conjunto de programas que se situa entre os
softwares aplicativos e o hardware
• Gerencia os recursos do computador (CPU,
dispositivos periféricos).
• Estabelece uma interface com o usuário.
9. O que são?
• Provê e executa serviços para softwares aplicativos.
10. Em outras palavras
• O sistema operacional é um programa especial que acorda a máquina
e faz com que ele reconheça a CPU, a memória, o teclado, o sistema
de vídeo e as unidades de discos.
• Além disso, oferece ao usuário a facilidade de se comunicar com o
computador.
• Um conjunto de programas que se situa entre os softwares aplicativos
e o hardware
12. Sistemas Operacionais
• O SO é um software básico:
• A palavra básico não quer dizer que ele é simples, mas sim, quer
dizer que ele é essencial, obrigatório para o funcionamento do
computador;
• Depois da inicialização da placa mãe, o SO é o primeiro programa
a ser inicializado.
13. Sistemas Operacionais
• o software básico da placa-mãe procura o sistema operacional no disco
para que ele seja carregado;
Assim que o computador é ligado:
• o SO controlará as atividades dos demais programas e do hardware do
computador;
Ao ser inicializado:
• Assim, boot é o processo de inicialização de um sistema operacional.
Esse procedimento se chama boot:
14. Sistema Operacional ‐
Características
• É o núcleo do sistema operacional, é a parte central que comanda o
hardware
KERNEL
• É a parte que entra em contato com o usuário, como o CLI a GUI
SHELL
• Demais programas que acompanham o sistema
APLICATIVOS
15. Sistema Operacional ‐
Características
• Executa uma tarefa por vez, entrega os recursos da
máquina a esta única tarefa
• Ex.: MS-DOS
MONOTAREFA
• Várias tarefas por vez, gerenciando o tempo
• Poder ser: preemptiva ou cooperativa
MULTITAREFA
19. Tipos de SO
• Para desktop e notebook:
• Windows
• Linux
• Mac
• Smartphones e Tablets:
• iOS
• Android
20. Windows
• É uma família de sistemas operacionais
desenvolvidos, comercializados e vendidos pela
Microsoft;
• Possui cerca de 80% do market share para a
versão de desktop no mundo;
• SO mais pirateado no mundo.
• Muitos dos computadores o usam dessa
maneira.
21. Windows
Prós:
• SO amigável;
• Muito bom para jogos devido ao DirectX
• Os drivers de placa de vídeo são
focados nele;
• Abundância de drivers de hardware;
• Oferta enorme de apps para ele;
• Plug-and-play;
• Compatível com versões anteriores
Contras:
• Custos;
• Exige muito do hardware;
• Fonte fechada;
• Suscetível a vírus;
• Custo adicional com antivírus dedicado;
24. Linux
• Sistema operacional livre;
• O código-fonte do Linux é disponibilizado livremente para quem
quiser o executar, estudar, distribuir ou melhorar;
• Muitas disbruições:
• debian e etc;
• RHEL e etc;
• FreeBSD e etc;
• Arch e etc
• Usado por pesquisadores e empresas que queiram economizar
25. Linux
Prós:
• Geralmente é grátis;
• Segurança e privacidade;
• Permite aprendizado;
• Adaptável
Contras:
• Possui muitos aplicativos, mas não todos;
• Alguns são versões substitutas
• Dificuldade de adaptação
• Tem melhorado, mas ainda não é tão bom
para jogos;
• Principalmente os lançamentos
• Muitos drivers são feitos via engenharia
reversa pela comunidade
27. MacOS
• Exclusivo para computadores Apple;
• SO de código aberto que é baseado no kernel Unix chamado
OpenDarwin;
• Possui excelentes aplicativos de edição de imagem, vídeo, música,
animação, etc;
• Por conta disso é conhecido como o SO das indústrias ligadas à
arte e entretenimento
28. MacOS
Prós:
• Muito bem otimizado para o hardware;
• Excelentes apps para edição de áudio e
imagens e vídeos;
• Permite automatizar fluxos de trabalho
complexos com o AppleScript;
• Atualizações são grátis
• Preço embutido
Contras:
• Apenas disponível para hardware da Apple
• Caro!!!
• Manutenção é cara
• Poucos especialistas
30. iOS
• Basicamente a mesma coisa para o MacOS
• Touch e para dispositivos móveis (tablet e smartphone);
31. Android
• Criado pelo Google
• Baseado em Linux;
• Código aberto
• Permite modificações
• O SO mais utilizado no mundo;
• Atualizado constantemente;
• Geralmente, novas versões vêm somente
para novos dispositivos
• Grande oferta de Apps;
• Permitir instalar apps fora da loja do google
(APKs)
33. Software Aplicativo
• O software de aplicativo é responsável por auxiliar o usuário a
realizar as suas tarefas.
• Eles são bem mais específicos que um Sistema Operacional.
• São os programas voltados para a solução de problemas do usuário.
• Podem ser de uso geral ou de uso específico.
35. Software Aplicativo
• Uso específico:
• Se destinam exclusivamente a um
único tipo de aplicação.
• Exemplos: folha de pagamento,
crediário, imposto de renda,
• cadastro, contas a pagar e receber,
etc.
36. Software Utilitário
• Os programas utilitários do sistema fornecem um complemento
necessário para uma ferramenta básica de gerenciamento do Sistema
Operacional.
• Eles podem estar incluídos no Sistema Operacional ou vendidos por
fornecedores independentes.
• Fornecem ao usuário ferramentas para organizar os discos, verificar
disponibilidade de memória, corrigir falhas de Processamento.
• Úteis ao sistema computacional.
37. Software Utilitário
• Utilitários de Backup:
• Copiam dados do HD para a mídia de
backup.
• É uma cópia de segurança dos arquivos de
trabalho.
• Justificativas:
• falha de energia
• mau funcionamento do disco rígido ou
drive
• mau uso de software
38. Software Utilitário
• Compressores de arquivos:
• Reduz o tamanho de um arquivo sem
prejudicar os dados.
• A maioria deles funciona pesquisando
o arquivo a procura de padrões
extensos e frequentemente repetidos
e substituindo este padrões por
códigos menores.
• Quando descompactado o utilitário
restaura o padrão extenso (onde cada
código é encontrado).
39. Software Antivírus
• Vírus: programas que se instalam nos
sistemas computacionais com a
finalidade de danificar arquivos ou
causar inconveniências.
• Antivírus: desenvolvidos para
detectar a presença de algum vírus no
sistema e tentar eliminá-lo.
42. Software Livre
• É o software que respeita a liberdade e senso de comunidade dos
usuários;
• Liberdade de executar, copiar, distribuir, estudar, mudar e melhorar o
software;
• Refere-se à liberdade, não preço
43. 4 Liberdades Essenciais
• A liberdade de executar o programa como você desejar, para qualquer
propósito (liberdade 0);
• A liberdade de estudar como o programa funciona, e adaptá-lo às suas
necessidades (liberdade 1);
• Para tanto, acesso ao código-fonte é um pré-requisito
• A liberdade de redistribuir cópias de modo que você possa ajudar
outros (liberdade 2);
• A liberdade de distribuir cópias de suas versões modificadas a outros
(liberdade 3);
• A comunidade pode se beneficiar de suas mudanças.
• Acesso ao código-fonte é um pré-requisito.
44. Referências
• Introdução à Informática (H. L. Capron e J. A. Johnson)
• Engenharia de Software (Pressman)