You are on page 1of 38

UNIVERSIDADE EDUARDO MONDLANE

FACULDADE DE ENGENHARIA
Informtica
Eng Roxan Cadir
1
LinguagemdeProgramao(LP)
2
Uma linguagem de programao uma maneira padronizada de expressar instrues para uma
maquina. A maquina pode ser computador , Telemvel , Palms Top , Ipad e muitos outros dispositivos.
O primeiro projecto de linguagem de programao surgiu para um computador que no existia, sendo
idealizado por Ada Lovelace.
Ada considerada por vrios autores como sendo a primeira Programadora. Mais tarde baptizou-se a
linguagem de Programao ADA em sua Homenagem.
Hoje em dia existem linguagens de programao prprias para Internet, para criao de jogos, para
formatao de textos, aplicaes comerciais,etc.
Primeiras Linguagens
Programadores usavam linguagem de mquina
Sequncias de dgitos binrios (0s e 1s).
Por exemplo, a instruo some 1 + 1 deveria ser representada como: 10100100
Alguns Inconvenientes:
Grande probabilidade de erro em todos os estgios do processo de programao.
Mesmo sendo com algoritmos simples resulta em longos programas, o que
dificultava o processo de validao e deteco de erros;
3
Principais Caractersticas das LP
4
Sintaxe:
Conjunto de regras formais para a composio de um texto na linguagem
(programa)
a partir do agrupamento de letras, dgitos e/ou outros caracteres (alfabeto da
linguagem).
A sintaxe umconjunto de regras formais para a escrita do programa.
Principais Caractersticas das LP
5
Semntica:
Em programao a semntica diz respeito ao significado do programa
sintacticamente vlido.
O que pode ocorrer que um programa seja sintacticamente vlido sem, no
entanto, ter umsignificado lgico coerente.
parte do domnio da semntica verificar esta coerncia em termos de
significado lingustico e no emtermos de lgica de programa.
Classificao das Linguagens
Linguagem de Maquina um tipo de Linguagem praticamentente impossivel de ler para o
ser Humano , ela basicamente lida combase emestados do proprio Hardware da maquina
Exemplo:
00010010010001010010010
001110110010101101001...
Linguagens de Baixo Nvel Linguagens prximas da linguagem de mquina. A comunicao
est mais prxima do hardware. Exemplo: Assembly.
Exemplo :
LOAD r1,b
LOAD r2,h
MUL r1,r2
DIV r1,#2
6
a) Quanto ao Grau de Abstraco
Classificao das Linguagens
7
Linguagens de Alto Nvel - Aproximam-se das linguagens utilizadas por humanos para
expressar problemas e algoritmos , Cada declarao numa linguagem de alto nvel equivale a vrias
declaraes numa linguagem de baixo nvel.
Exemplo :
If (idade <0) then
Print (Idade no Existe);
Else
Print (Idade Valida);
Classificao das Linguagens
8
b) Quanto ao Paradigma
Um paradigma se define na forma como o programador lida com um determinado
problema.
Paradigma funcional
Paradigma Logico
Paradigma Procedural
Paradigma Estrutural
Paradigma Orientado a Objectos
Paradigma Distribudo
Paradigma Concorrente
Classificao das Linguagens
9
Primeira gerao: linguagem de mquina;
Segunda gerao: grande quantidade de bibliotecas de software, sistemas de execuo
em tempo real e desenvolvimento de gestores de base de dados.
Terceira gerao: capacidade procedural e estrutural
Quarta gerao: sistemas especialistas, desenvolvimento de inteligncia artificial
execuo dos programas em paralelo (Threading).
c) Quanto Gerao
Conceitos Importantes
Compilador: o Programa que traduz um programa inteiro de uma linguagem de
programao de alto nvel (exemplo: Java) para a Linguagem de Mquina.
Interpretador: uma programa que traduz uma instruo de um programa para a
linguagem de mquina e, em seguida, a executa.Se um programa tiver vrias instrues
elas so traduzidas e executadas uma de cada vez. Exemplo (HTML e maior parte das
Linguagens usadas para Web)
Programa Fonte: o programa escrito em uma linguagem de programao. o programa
que vai ser compilado para gerar um programa objeto.
10
Conceitos Importantes
Programa Objecto: o programa originado depois de o programa fonte ser
compilado, isto , o programa escrito em linguagem de mquina.
Linkador (Link-Editor): o programa que liga os mdulos (blocos) de um programa
objecto gerando um programa executvel.
Programa Executvel: o programa em linguagem de mquina pronto para ser
executado.
Algoritmo : a sequncia de passos que nos leva a resoluo de um problema de
qualquer que seja a rea.
11
Grfico do desenvolvimento das Principais LP
12
SistemasOperativos
13
Sistema Operativo (S.O) um programa intermedirio entre o utilizador e o hardware (mquina fsica),
controla e coordena a utilizao do hardware durante a execuo de vrios programas de aplicao.
O S.O. trabalha estritamente com o hardware do computador e com os programas aplicativos.
Principais Objectivos dos S.Os
14
I. Executar programas do utilizador e tornar mais fcil a resoluo de problemas.
II. Tornar fcil o uso da mquina.
III. Utilizar o hardware do computador duma forma eficiente
IV. Gesto os recursos de hardware e software do sistema.
V. Proporcionar uma maneira estvel e consistente para lidar com o hardware, sem ter de
conhecer todos os detalhes do hardware.
Classificao dos Sistemas Operativos
15
a) Classificao em relao ao seu projecto (arquitectura):
Ncleo monoltico ou monobloco:. Ex.: MAC OS X, OS/2, Windows, Linux,
FreeBSD.
Microncleo ou modelo cliente-servidor: Ex.: GNU Hurd, Mach.
Sistema em camadas: Ex.: Multics.
Monitor de mquinas virtuais: Ex.:VM/370,VMware, Xen,VirtualBox.
b) Quanto quantidade de usurios que podem utilizar o sistema concorrentemente:
Monousurio: Ex.: Windows.
Multiusurio: Ex.: Linux, Unix, Windows Server.
Classificao dos Sistemas Operativos
16
c) Quanto gesto de processos:
Monotarefa:. Ex. MS-DOS.
Multitarefa: Ex: OS/2,Windows, Linux, FreeBSD e o Mac OS X.
Multiprocessamento
d) Quanto ao tempo de execuo:
Sistema operativo de tempo real (RTOS - Real-time operating system).
Sistema Operativo no de tempo real
Principais Sistemas Operativos
17
1. Windows 7 2. Linux (Ubuntu) 3. MacOS X
4. Symbian S60 5. Android
Licenas de Uso
18
licena de software um documento que traz uma definio de aes autorizadas ou proibidas
dentro daquilo que o direito de autor de um programador de software de computador
concedidas ou impostas ao usurio deste software
Tipos de Licenas de Uso de Softwares
19
Quando um programa desenvolvido, seus criadores escolhem um tipo de licena
de uso para esse software.
O universo de licenas de uso no se limitam a gratuito. Os programas podem ser
definidos como freeware, shareware, adware ou open source.
Freeware: o mesmo que gratuito. Sua utilizao no necessita de cobrana e
todas as funes do programa podem ser acessadas pelo usurio, sem nenhum
tipo de restrio. O tempo de uso pelo usurio nesse tipo de licena tambm no
possui restries.
Adware: o formato de comercializao adware consiste em inserir uma publicidade
no programa, de forma que o usurio obrigado a ter contato com aquele anncio
todas as vezes que utiliza o software. A propaganda s retirada mediante a um
pagamento por parte do cliente.
Tipos de Licenas de Uso de Softwares
20
Shareware: no padro shareware, o software possui algumas limitaes de
relao ao acesso de funcionalidades ou limite de tempo de utilizao, geralmente
contado em dias, a partir do momento que o software instalado. Para ter acesso
a essas ferramentas bloqueadas ou usar por tempo indeterminado, o usurio
obrigado a comprar o produto.
Open source: os programas open source, alm de serem totalmente gratuitos e
sem nenhum tipo de restrio aos usurios, possuem o cdigo fonte de
programao acoplada a eles. Isso significa que qualquer pessoa pode modificar
as funes do software sem a necessidade de nenhum tipo de pagamento aos
desenvolvedores.
Tipos de Licenas de Uso de Softwares
21
Demo - So verses de demonstrao de algum programa, por ser uma verso de
demonstrao, certos recursos no estaro disponveis, o programa ou jogo pode
no estar completo ou podero haver limitaes no tempo de uso.As verses
demo sempre esto disponveis gratuitamente na internet.
Trial - So programas liberados totalmente para testes, porm em determinado
prazo(geralmente 30 dias), ele totalmente bloqueado caso queira voltar a utiliza-
lo tem que comprar uma licena de uso.
Principais Fornecedores de Licenas de
Software Livre
22
1. BSD (Berkeley Software Distribution)
2. Apache
3. GNU (GNU Not Unix)
4. MIT (Massachusetts Institute of Technology)
5. GPL (General Public License)
6. Mozilla / EPL
Segurana do Computador / pragas digitais
23
comum chamar-se de vrus todo e qualquer programa com fins
maliciosos. Mas, h vrios tipos de "pragas digitais", sendo os vrus
apenas uma categoria delas.
Vrus de computador so pequenos programas capazes de causar
grandes transtornos a indivduos, empresas e outras institu
podem apagar aplicaes, capturar informaes, alterar ou impedir
o funcionamento do sistema operacional e assim por diante.
Como se no bastasse, h ainda outros softwares parecidos,
como cavalos de troia, worms, hijackers, spywares
e ransomwares.
24
o que um malware?
um termo usado para generalizar esses programas maliciosos e o
malware, uma combinao das palavras malicious e software que
significa "programa malicioso".
Portanto, malware nada mais do que um nome criado para
quando necessitamos fazer aluso a um software malicioso, seja
ele um vrus, um worm, um spyware, etc.
Os malwares no se limitam a uma nica plataforma. H quem
pense, por exemplo, que s h pragas digitais para Windows, mas
isso no verdade. O que acontece que a famlia de sistemas
operacionais da Microsoft mais popular e, portanto, mais visada.
Como no existe software 100% seguro, malwares tambm podem
ser desenvolvidos para atacar qualquer outra plataforma, afinal,
sempre h algum disposto a descobrir e explorar suas
deficincias.
25
Virus de computador
um vrus um programa com fins maliciosos, capaz de causar transtornos
com os mais diversos tipos de aes: h vrus que apagam ou alteram
arquivos dos usurios, que prejudicam o funcionamento do sistema
operacional danificando ou alterando suas funcionalidades, que causam
excesso de trfego em redes, entre outros.
Os vrus, tal como qualquer outro tipo de malware, podem ser criados de vrias
formas.
Os primeiros foram desenvolvidos em linguagens de programao como C e
Assembly.
Hoje, possvel encontrar inclusive ferramentas que auxiliam na sua criao.
Como agem?
Os vrus recebem esse nome porque possuem caractersticas de propagao
que lembram os vrus reais, isto , biolgicos: quando um vrus contamina
um computador, alm de executar a ao para o qual foi programado, tenta
tambm se espalhar para outras mquinas, tal como fazem os vrus
biolgicos nos organismos que invadem.
Antigamente, os vrus tinham um raio de ao muito limitado: se
propagavam, por exemplo, toda vez que um disquete contaminado era lido
no computador.
Com o surgimento da internet, no entanto, essa situao mudou
drasticamente, para pior.
com a internet, os vrus podem se espalhar de maneira muito mais rpida e
contaminar um nmero muito mais expressivo de computadores.
Os vrus tambm podem se propagar atravs de uma combinao de meios.
Por exemplo, uma pessoa em um escritrio pode executar o anexo de um e-
mail e, com isso, contaminar o seu computador. Em seguida, este mesmo
vrus pode tentar explorar falhas de segurana de outros computadores da
rede para infect-los.
26
Tipos de Virus
Vrus de Boot
Time Bomb
Minhocas,
worm ou
vermes
Vrus em
redes Sociais
Hijackers
Trojans ou
cavalos de
Tria
Estado
Zombie
Vrus de
Macro
(Office)
27
Cavalo de troia (trojan)
so um tipo de malware que permitem alguma maneira de
acesso remoto ao computador aps a infeco.
Esse tipo de praga pode ter outras funcionalidades, como
capturar de dados do usurio para transmit-los a outra mquina.
Para conseguir ingressar no computador, o cavalo de troia
geralmente se passa por outro programa ou arquivo. O usurio
pode, por exemplo, fazer um download pensando se tratar de
uma ferramenta para um determinado fim quando, na verdade,
se trata de um trojan.
Esse tipo de malware no desenvolvido para se replicar. Quando
isso acontece, geralmente trata-se de uma ao conjunta com um
vrus
28
Worm (verme)
Estes podem ser interpretados como um tipo de vrus mais
inteligente que os demais.
A principal diferena est na forma de propagao: os
worms podem se esplhar rapidamente para outros
computadores - seja pela internet, seja por meio de uma
rede local - de maneira automtica, basta que receba o
"apoio" do usurio.
por exemplo, quando uma pessoa baixa um anexo
contaminado de um e-mail e o executa. Os worms, por sua
vez, podem infectar o computador de maneira totalmente
discreta, explorando falhas em aplicativos ou no prprio SO.
29
30
Spyware
so programas que "espionam" as atividades dos
usurios ou capturam informaes sobre eles.
Para contaminar um computador, os spywares
geralmente so "embutidos" em softwares de
procedncia duvidosa, quase sempre oferecidos como
freeware ou shareware.
Os dados capturados so posteriormente transmitidos
pela internet. Estas informaes podem ser desde
hbitos de navegao do usurio at senhas.
Keylogger
so pequenos aplicativos que podem vir embutidos
em vrus, spywares ou softwares de procedncia
duvidosa.
Sua funo a de capturar tudo o que digitado
pelo usurio. uma das formas utilizadas para a
captura de senhas.
31
Hijackers
so programas ou scripts que "sequestram" navegadores de
internet.
As principais vtimas eram as verses mais antigas do
Internet Explorer. Um hijacker pode, por exemplo, alterar a
pgina inicial do browser e impedir o usurio de mud-la,
exibir propagandas em janelas novas, instalar barras de
ferramentas e impedir o acesso a determinados sites
(pginas de empresas de antivrus, por exemplo).
Felizmente, os navegadores atuais contam com mais
recursos de segurana, limitando consideravelmente a ao
desse tipo de praga digital.
32
Rootkit
Esse um dos tipos de malwares mais perigosos. Podem ser
utilizados para vrias finalidades, como capturar dados do
usurio. At a, nenhuma novidade.
O que torna os rootkits to ameaadores a capacidade que
possuem para dificultar a sua deteco por antivrus ou
outros softwares de segurana.
Em outras palavras, os rootkits conseguem se "camuflar" no
sistema.
Alm de difcil deteco, os rootkits tambm so de difcil
remoo.
Felizmente, sua complexidade de desenvolvimento faz com
que no sejam muito numerosos.
33
Ransomware
um tipo de malware que uma vez ativo, a praga pode bloquear ou
limitar (ou permitir que seu criador o faa remotamente) o acesso a
arquivos, pastas, aplicativos, unidades de armazenamento inteiras ou
at mesmo impedir o uso do SO.
Para liberar estes recursos, o ransomware costuma mostrar mensagens
exigindo pagamentos. como se o computador tivesse sido
sequestrado.
Para convencer o usurio a desembolsar o valor exigido, a mensagem
pode conter ameaas ou chantagens, dizendo, por ex., que dados
importantes sero apagados ou que imagens particulares da pessoa
sero publicadas na internet caso o pagamento no seja efetuado.
O usurio que tiver seu computador infectado por um ransomware no
deve ceder presso e pagar, mesmo porque, no raramente, nada
acontece quando isso feito. O ideal que a pessoa utilize um
software de segurana (antivrus) para tentar remover a praga ou, se
no tiver sucesso, procure algum de confiana para faz-lo.
34
35
Antivrus
36
O mercado conta com antivrus pagos e gratuitos (estes, geralmente com menos
recursos).
Alguns programas, na verdade, consistemempacotes de segurana, j que incluem
firewall e outras ferramentas que complementama proteo oferecida pelo antivrus.
Eis uma lista com as solues mais conhecidas:
AVG: mais conhecida por suas verses gratuitas, mas tambmpossui edies verses
de testes, mas no gratuitas -www.norton.com;
Panda: possui verses de testes, mas no gratuitas - www.pandasecurity.com;
Kaspersky: possui verses de testes, mas no gratuitas - www.kaspersky.com;
37
Avast: conta com verses pagas e gratuitas - www.avast.com;
Microsoft Security Essentials: gratuito para usurios domsticos
de licenas legtimas do Windows -
www.microsoft.com/security_essentials;
Norton: popular antivrus da Symantec. Possui verses de testes,
mas no gratuitas -www.norton.com;
Avira AntiVir: mais conhecida por suas verses gratuitas, mas
tambmpossui edies pagas com mais recursos -
www.avira.com;
NOD32: possui verses de testes, mas no gratuitas -
www.eset.com;
McAfee: uma das solues mais tradicionais do mercado. Possui
verses de testes, mas no gratuitas - www.mcafee.com;
BitDefender: conta com verses pagas e gratuitas -
www.bitdefender.com.
Dados estatsticos
At 1995 - 15.000 vrus conhecidos;
At 1999 - 20.500 vrus conhecidos;
At 2000 - 49.000 vrus conhecidos;
At 2001 - 58.000 vrus conhecidos;
At 2005 - Aproximadamente 75.000 vrus
conhecidos;
At 2007 - Aproximadamente 200.000 vrus
conhecidos;
At Novembro de 2008 - Mais de 530.000 vrus
conhecidos.
At Maro de 2010 - Mais de 950.000 vrus
conhecidos.
At Janeiro de 2011 - Mais de 1.200.000 vrus
conhecidos.
38

You might also like