Buscar

Software

Prévia do material em texto

Profa. Amanda Drielly Pires Venceslau 
amanda.pires@ufc.br 
 
 
Software 
 
Software – Conceitos Básicos 
 
 
Software – Conceitos Básicos 
Software X Hardware 
 
Software 
 Ordena e controla todas as ações do hardware 
 Maleável - modificações fáceis, feitas por programadores 
 
Hardware 
 Depende do software para funcionar 
Rígido - modificações difíceis, feitas somente pelos 
fabricantes. 
 
Software – Conceitos Básicos 
O que é Software? 
 
Conjunto alterável de instruções, ordenadas e lógicas, fornecidas ao 
hardware para a execução de procedimentos necessários à solução dos 
problemas e tarefas do processamento de dados. 
 
É o que torna possível os computadores terem uma variedade ilimitada de 
utilizações. 
 
 Instruções eletrônicas que em geral residem em um meio de 
armazenamento. 
 
 Um conjunto específico destas instruções é chamado Programa.. 
 
Software – Conceitos Básicos 
Programas 
 
•Partes componentes do software 
•Armazenados em unidades de memória secundária. 
•Desenvolvidos utilizando Linguagens de Programação. 
•Analistas de Sistemas e Programadores 
•Projetam e desenvolvem programas / software 
•Engenharia de Software 
•Área de estudo que se preocupa com o desenvolvimento 
de software 
• Quando o computador está usando um programa em 
particular, dizemos que eles está rodando ou executando 
aquele programa. 
 
Software – Conceitos Básicos 
Categorias de Software 
 
Software Básico 
 Sistema Operacional 
 Software Utilitário 
 
Software Aplicativo ou Sistema Aplicativo 
 
Outros autores ainda definem outra categoria: Software de Linguagem 
ou Linguagem de Programação 
 
Software – Conceitos Básicos 
Diferentes visões- Sistema computacional 
Visão Usuário Final X Programador X Projetista de Sistema 
Operacional 
 
Sistemas Operacionais 
Definição 
 
O sistema operacional é software: um conjunto de rotinas 
que são executadas pelo processador para facilitar o acesso 
aos componentes de hardware (processador, memória, 
dispositivos de 
E/S), e gerenciar o uso do sistema de computação 
(hardware e software). 
 
Tradicionalmente os S.O. eram escritos em linguagem 
Assembly. Já faz um certo tempo que a maioria dos S.O. 
são escritos em linguagens de alto nível. 
 
Sistemas Operacionais 
Objetivos 
 
Tornar ao usuário a utilização do computador mais 
conveniente 
 Esconde detalhes internos 
 Reduz o tempo necessário a construção de programas 
 
Utilizar o hardware do computador de forma eficiente 
 Significa mais trabalho obtido pelo mesmo hardware 
 Obtida por uma melhor distribuição/ uso dos recursos 
 
Sistemas Operacionais 
 
Sistemas Operacionais 
Composição Básica 
 
Um sistema operacional consiste, basicamente, de um 
núcleo (Kernel) e alguns programas do sistema. Há ainda 
aplicações que executam diversas tarefas. 
 
 Kernel - coração do sistema operacional, composto pelas 
funções centrais do SO. 
 
Sistemas Operacionais 
Localização 
 
Residente no disco rígido do computador (maioria dos casos) 
Possibilidade de armazenamento em um chip ROM 
(handhelds) 
Computadores de diferentes portes possuem tipicamente 
diferentes sistemas operacionais 
 Tipos similares de computadores podem possuir sistemas 
operacionais diferentes 
 Diversos sistemas operacionais não são compatíveis entre 
si. 
 
Funções dos Sistemas Operacionais 
 Inicialização do Computador 
 Gestão de Programas 
 Gestão da Memória 
 Programação de Tarefas 
 Configuração de Dispositivos 
 Acesso à Web 
 Segurança do Sistema 
 Controle da Rede 
 Monitoração do Desempenho 
 Interfaceamento com o Usuário 
 
Funções dos Sistemas Operacionais 
Booting 
 
Processo de inicialização ou reinicialização de um 
computador 
 
Funções dos Sistemas Operacionais 
•Kernel - Núcleo de um SO 
•Gestão de memória e 
dispositivos 
•Manutenção dos relógios do 
computador 
•Inicialização de aplicativos 
•Compartilhamento de recursos 
computacionais (programas, 
dispositivos, dados,informação) 
 
•A cada inicialização do 
computador, o kernel e outras 
instruções de uso frequente do 
SO são carregadas 
Residente na memória 
 
Permanece na memória 
enquanto o computador 
estiver executando 
 O kernel é residente na 
memória 
 
Não Residente na memória 
Instruções permanecem no 
disco rígido até que sejam 
necessárias 
 Outras partes do SO são 
não residentes 
 
Funções dos Sistemas Operacionais 
Inicialização de um sistema computacional 
 
 
 
Funções dos Sistemas Operacionais 
Inicialização de um sistema computacional 
 
 
Funções dos Sistemas Operacionais 
Inicialização de um sistema computacional 
 
 
 
Funções dos Sistemas Operacionais 
Inicialização de um sistema computacional 
 
 
 
Funções dos Sistemas Operacionais 
Inicialização de um sistema computacional 
 
 
 
Funções dos Sistemas Operacionais 
Inicialização de um sistema computacional 
 
 
 
Funções dos Sistemas Operacionais 
Inicialização de um sistema computacional 
 
 
 
Funções dos Sistemas Operacionais 
Gestão da Memória Virtual 
 
O SO aloca uma porção de um meio de armazenamento 
(usualmente o disco rígido) para atuar como RAM adicional 
 
 
Funções dos Sistemas Operacionais 
Gestão da Memória Virtual 
 
 
Funções dos Sistemas Operacionais 
Gestão da Memória Virtual 
 
 
Funções dos Sistemas Operacionais 
Comunicação SO - dispositivo de E/S 
 
Driver de Dispositivo - Programa que possibilita a 
comunicação do SO com um dispositivo de E/S. 
 
Cada dispositivo requer um driver próprio. 
 
Sistemas Operacionais 
Plug’n Play (PNP ou Plug and Play) 
 
Reconhecimento de novos dispositivos pelo computador, 
instalação automática de drivers para esses dispositivos e 
verificação de conflitos com outros dispositivos 
 
Suportado pela maioria dos dispositivos e SO atuais 
 
Sistemas Operacionais 
Plug’n Play (PNP) 
 
Quando se liga um sistema Plug’n Play, o principal árbitro entre o software 
e o hardware, o BIOS é o primeiro componente a assumir o controle. 
 
 Com base em identificadores unívocos, códigos permanentemente 
gravados nas ROM (memória apenas de leitura), o BIOS reconhece os 
dispositivos instalados SO assume o controle dos dispositivos. 
 
Funções dos Sistemas Operacionais 
Interface com o Usuário 
 
Controle do modo de entrada de dados e do modo de 
apresentação das informações na tela do monitor. 
 
Sistemas Operacionais 
Interface com o Usuário 
 
Do ponto de vista do usuário, o que faz ou prejudica um 
sistema operacional é a qualidade da interface com o usuário. 
 
Às vezes, a interface com o usuário é denominada shell, 
sugerindo a idéia de que a interface com o usuário (o shell) 
“envolve” o sistema operacional (o kernel dentro do shell). 
 
 Os três tipos de interfaces com o usuário são: 
 Interface de linha de comando, 
 Interface baseada em menus e 
 Interface gráfica. 
 
Funções dos Sistemas Operacionais 
 
Sistemas Operacionais - Classificação 
Primórdios 
 
Sistema operacional inexistente 
Usuário é o programador e o operador da 
máquina 
Evolução foi motivada por: 
Melhor utilização de recursos 
Avanços tecnológicos (novos tipos de hardware) 
Adição de novos serviços 
 
Sistemas Operacionais - Classificação 
Sistemas Mono-usuário 
Projetados para serem usados por um único usuário. 
Exemplo: MS-DOS, Windows 3.x, Windows 9x, Millenium 
 
 
Sistemas Multi-usuário 
Suportam várias sessões de usuário em um computador. 
Exemplo: UNIX, Windows-NT, Windows 2000, Windows XP. 
Programas e arquivos de dados em um único computador 
(host), que gerencia também o uso comum de periféricos 
compartilhados. 
 
Sistemas Operacionais - Classificação 
Sistemas Mono-tarefa (Mono-programáveis) 
 Podem executar apenas uma tarefa de cada vez. 
 Exemplo: MS-DOS 
 
Sistemas Multi-tarefa (Multi-programáveis) 
 Permitem executar várias tarefas simultaneamente 
 Tarefas cooperativas. Exemplo: Windows 9x (aplicativos 
de 16 bits) 
 Tarefas preemptivas. Exemplo: Windows NT, UNIX, OS/2, 
Windows 9x (aplicativos de 32 bits) 
Multi-tarefa cooperativa - cada aplicativo ocupa seu próprio endereço de 
memória e recursos do sistema. Cabe a cada processo liberar voluntariamente 
a utilização do processador para que outro processo possa rodar. 
 
Sistemas Operacionais - Classificação 
Sistemas em Lote (Batch) 
 
 Primeiros sistemas multi-programáveis 
 Caracterizados por terem seus jobs armazenados em 
disco ou fita, até o momento de serem executados de 
forma seqüencial. 
 Os jobs não possuem interação com o usuário (Ex.: 
primórdios – compiladores, linkedições, backups). 
 Início: passagem entre jobs - manual 
 Evolução: Sequenciamento automático de jobs, 
transferindo o controle de um job a outro. 
 
Sistemas Operacionais - Classificação 
Sistemas em Lote (Batch) 
 
1401 7094 1401
Leitora de
cartões
Unidade
 de Fita
Entrada
da Fita
Sistema
de Fitas
Saída
de Fita
Impressora
Um sistema “batch” antigo. (a) Programadores levam cartões ao 1401. (b) 
1401 lê batch de jobs em fita. (c) A operadora acopla fita de entrada no 7094. 
(d) O 7094 faz o processamento. (e) A operadora acopla fita de saída no 1401. 
(f) O 1401 imprime a saída. 
 
Sistemas Operacionais - Classificação 
Sistemas em Lote (Batch) 
 
Introdução da multi-programação 
 
Acesso direto aos jobs - escala de jobs em uma determinada 
ordem, de modo a aproveitar os tempos de cpu ociosa. 
A idéia é manter vários programas em memória ao mesmo 
tempo. Enquanto um programa aguarda E/S, outro pode ser 
executado 
 
 
Sistemas Operacionais - Classificação 
Sistemas Multi-programáveis de Tempo Compartilhado 
(Timesharing) 
 
 
Fornecem serviços a diversos usuários concorrentemente 
Usuários possuem um terminal 
Interação com o programa em execução 
Usuário - Ilusão de possuir a máquina dedicada à execução de seu 
programa 
Divisão do tempo de processamento entre usuários 
Tempo de resposta é importante 
 
 
Sistemas Operacionais - Classificação 
Sistemas Multi-programáveis de Tempo Real 
 
•Quanto à construção, são bem semelhantes aos sistemas de 
tempo compartilhado. Porém, os objetivos e exigências são 
diferentes. 
•Em geram, atendem (monitoram) processos externos que 
requerem tempos de resposta dentro de limites rígidos. Ex.: 
experimentos científicos, tratamento de imagens médicas, 
controle de processos, etc 
•O processo realimenta o computador. 
•Em geral não existe o conceito de fatia de tempo alocada a 
um processo. 
•Noção de tempo real é dependente da aplicação (segundos, 
minuto, horas, etc). 
 
 
Sistemas Operacionais - Classificação 
Sistemas com Múltiplos Processadores 
 
Caracterizam-se por possuir 2 ou mais CPUs interligadas, 
trabalhando conjuntamente. 
No desenvolvimento desses sistemas o mais importante é a 
forma de comunicação entre os processadores e o grau de 
compartilhamento da memória e dos dispositivos de E/S, o 
que leva a seguinte classificação: 
sistemas fortemente acoplados (assimétricos e simétricos) 
sistemas fracamente acoplados (SO de rede e SO distribuído). 
 
 
Sistemas Operacionais 
 
Gerenciadores de Rede 
 Windows NT, XP, 
Vista 
 UNIX Ware 
 LINUX Red Hat, 
Ubuntu 
 Solaris 
 Novell Netware 
 LANtastic 
 
Sistemas Operacionais 
 MS-DOS 
 Windows (95, 98, NT, XP, 
Vista) 
 UNIX 
 LINUX 
 Solaris 
 OS/2 (IBM - micros) 
 Mac OS (Apple - 
Machintosh) 
 MCP (Unisys - Mainframe) 
 VSE (IBM - Mainframe) 
 MVS (IBM - Mainframe) 
 
Sistemas Operacionais 
Exemplos – MS-DOS (Disk Operating System) 
 
•Mono-usuário e mono-tarefa. 
•É um sistema operacional de 16 bits 
•Interface de linha de comando 
•Modos de comunicação do usuário com o MS-DOS: modo 
interativo e o modo batch. 
Modo Interativo: executa um comando no instante em que foi 
digitado através do prompt. 
Modo batch: comandos em lote - uma seqüência de comandos que 
serão executados na ordem em que aparecem. Os comandos 
desejados devem ser colocados em ordem seqüencial em um arquivo 
que pode ser criado por um processador de textos. 
 
Versões - 1.0 , 2.0 , 3.0 ,...., 6.0, 6.22 , 7.0 (unificado ao Windows ) 
 
 
Sistemas Operacionais 
Exemplos – WINDOWS 
 
O Windows foi a verdadeira revolução dos PC. 
Permite utilizar o microcomputador com maior facilidade, através 
de uma interface visual gráfica. 
Metáfora básica: a do desktop - ambiente que lembra uma mesa 
de trabalho - ferramentas necessárias e outros recursos são 
sempre visíveis e facilmente acessíveis. 
Windows ou Janelas 
Regiões retangulares que se alternam e se sobrepõem 
Apresentam na tela todas as operações ou programas executados no 
computador 
 
Versões: Windows 3.1 e 3.11, Windows 95 / Windows 98, Windows 
NT, 2000, XP, Vista 
 
 
Sistemas Operacionais 
Exemplos – UNIX 
 
Sistema multi-usuário e multi-tarefa. 
Principal objetivo: obtenção de um ambiente satisfatório de trabalho 
para programadores. 
Avaliação: usuários e programadores experientes - simples, 
elegante e fácil de aprender; Iniciantes - resumido e não muito 
amistoso. 
Uso predominante: estações de trabalho e servidores de rede, e 
especialmente, popular em máquinas equipadas com chips RISC 
de alto desempenho. 
Vantagens: portabilidade, padronização, sistema de arquivos 
hierárquico, e generalidade. 
Sistemas UNIX modernos - tendem a ser distribuídos e suportam 
aplicações em tempo real. 
 
 
Sistemas Operacionais 
Exemplos – LINUX 
 
É um “clone” do UNIX de distribuição livre. 
 
Foi primeiramente desenvolvido para PCs baseados em 386/486/Pentium, 
atualmente também roda em computadores Alpha - DEC, Sparc - SUN, PowerPC. 
 
Está disponível na forma de código objeto, bem como em código fonte. 
 
A maioria dos programas rodando em Linux são freeware genéricos para UNIX. 
 
Linux está sendo usado hoje em dia por centenas e centenas de pessoas pelo 
mundo - desenvolvimento de software, networking, e como plataforma de usuário 
final. 
 
Tem se tornado uma alternativa efetiva de custo em relação aos caros sistemas 
UNIX existentes. 
 
 
Software Utilitário 
Os utilitários são programas que preenchem a lacuna entre a 
funcionalidade de um sistema operacional e as necessidades dos 
usuários. 
 
 Para muitos usuários, um computador com um sistema operacional e 
aplicações apenas básicas é inconveniente. 
 
 Os programas utilitários introduzem ao sistema operacional 
funcionalidade que ele não possui. 
 Administram o ambiente. 
 Fornecem ao usuário ferramentas para organizar os discos, 
verificar disponibilidade de memória, corrigir falhas de processamento. 
 Ex.: Norton Utilities 
 
Software Utilitário 
Tipos comuns de utilitários 
 
Programas de desfragmentação de arquivos (Ex.: Speed Disk, Compress, 
Defrag) 
 
Utilitários antivírus (Ex.: Norton, McAfee) 
 
 Compactadores de arquivosou discos (Ex.: PKZIP, ARJ, Stacker, Double 
Space). 
 
Programas para gerenciamento de memória (Ex.:PC Booster). 
 
Software Aplicativo ou 
Sistema Aplicativo 
 Aplicação: conjunto de procedimentos humanos que, 
baseados no computador, têm por objetivo realizar 
determinada tarefa. 
 
Software Aplicativo: conjunto de programas de computador 
desenvolvidos para realizar, em combinação com a atividade 
humana, tarefas ou processos específicos, relacionados com 
o processamento de informações. 
 
 Efetuam tarefas que sirvam diretamente ao usuário. 
 Escritos através de Linguagens de Programação 
 
Software Aplicativo ou 
Sistema Aplicativo 
De acordo com as tarefas que executam: 
 
Administrativos 
 Sistemas de faturamento, contas a pagar, folha de pagamento, controle 
de estoque, controle da produção, contabilidade e outros 
 
 Tecno-Científicos 
 Cálculo de estruturas, simulação, planejamento e controle de projetos, 
pesquisa operacional, problemas de engenharia, desenvolvimento de 
projetos, CAD e outros relacionados com atividades científicas ou de 
engenharia. 
 
 Automação Industrial 
 Controle de processos, telemetria, controle de fabricação, CAM e outros 
relacionados com atividades industriais. 
 
Software Aplicativo ou 
Sistema Aplicativo 
De acordo com as tarefas que executam (cont...): 
 
Automação Comercial 
 Reserva de passagens, contas correntes, pontos de venda e 
outros relacionados com atividades comerciais. 
 
Apoio Educacional 
 Assistência à instrução, ensino auxiliado pelo computador e 
outras atividades relacionadas ao ensino. 
 
Especiais e Científicos 
 Teleprocessamento, comunicações militares, pesquisas 
espaciais, previsões meteorológicas e outros. 
 
Software Aplicativo ou 
Sistema Aplicativo 
 Abrangem diversas áreas do conhecimento 
 
Exemplos: 
Processador (ou editor) de textos (Word) 
Planilha eletrônica (Excel) 
Editor de apresentações (PowerPoint) 
Editor de Imagem (Adobe Photoshop) 
Editoração Eletrônica (PageMaker) 
Matemática (Mathcad) 
Engenharia e Arquitetura (AutoCAD, 3D 
Studio) 
 
 Software – Modalidades 
 
1. Software comercial 
2. Shareware 
3. Freeware 
4. Beta 
5. Demo ou Trial 
 6. Adware 
 7. Domínio Público 
 8. Software Livre 
 
 Software – Modalidades 
Software comercial 
 
Não são revelados detalhes de funcionamento, não 
se pode copiá-los para outros usuários e 
alterações (muito difíceis, dada a forma binária) 
são terminantemente proibidas. 
 
Programas distribuídos na sua maioria somente na 
forma binária (executáveis) com direitos 
específicos (um ou alguns usuários, um ou alguns 
computadores, CPUs etc.) e quase sempre com 
um preço associado. 
 
 Software – Modalidades 
Shareware 
 
Costumam ser distribuídos na forma binária e 
ter características semelhantes aos 
comerciais, mas com uma diferença: 
podem ser distribuídas cópias para 
outras pessoas experimentarem o 
programa (e se gostarem registrarem-se 
com o autor, pagando uma certa taxa). 
 
 Software – Modalidades 
Freeware 
 
 
São os programas gratuitos, exatamente 
como os Shareware, mas não exigem 
registro e não têm taxa de uso. Não é 
permitida sua alteração. 
 
 Software – Modalidades 
Beta 
 
Versões ainda em desenvolvimento. Muitas vezes 
com aspectos de Freeware, outras vezes 
Shareware. 
 
Precede a versão oficial. Ex.: software com a versão 
0.x ou RC1, RC2, etc. 
 
RC - Release Candidate, geralmente as últimas 
versões antes do lançamento oficial. 
 
 
 Software – Modalidades 
Demo ou Trial 
 
As versões Demo são basicamente 
relacionadas a jogos. Apenas alguns níveis; 
 
O Trial funciona quase da mesma maneira, se 
aplica a programas, mas com uma pequena 
diferença: algumas não salvam nem 
exportam os trabalhos realizados. 
 
 
 
 Software – Modalidades 
Adware 
 
São programas suportados por banner, assim como 
site. 
São gratuitos enquanto o banner estiver rodando no 
programa, mas há a possibilidade de adquirir um 
registro e retirar o sistema de banner. 
 
Pode-se ter todas as vantagens de ser um usuário 
cadastrado, assim como acontece com o 
Shareware. 
 
 
 
 Software – Modalidades 
Domínio Público 
 
 
O autor abre mão dos direitos, perdendo inclusive o 
direito de cópia - o copyright. Em todos os casos, 
o código fonte acompanha o programa. 
 
O programa pode ser embutido em outro programa e 
vendido. 
 
 
 
 Software – Modalidades 
Software Livre 
 
Programas que mantém o copyright, e ainda assim permitem: 
 a livre distribuição (cópia); 
 o acesso ao código-fonte; e 
 o direito de alterar o programa 
 
 
 Software – Modalidades 
 
 
Modalidades CR CF Dis Alt 
Comercial     
Shareware     
Freeware     
Software Livre     
Dom. Público     
(C.R. = Copyright, C.F. = Código fonte disponível, Dis. = programa pode 
ser distribuído livremente, Alt. = programa pode ser alterado)

Continue navegando