Buscar

APC Sistemas de Software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Computação Básica – carlacastanho@cic.unb.br 
Algoritmos e Programação de Computadores 
Disciplina: 116301 
 
 
Profa. Carla Denise Castanho 
Prof. Marcio Victorino 
 
 
Universidade de Brasília – UnB 
Instituto de Ciências Exatas – IE 
Departamento de Ciência da Computação – CIC 
 
1 
Computação Básica – carlacastanho@cic.unb.br 
2.4. Sistemas de Software 
2 
Computação Básica – carlacastanho@cic.unb.br 
Sistemas de Software 
 Software: 
 São instruções escritas em linguagem de programação que dirão 
ao computador o que fazer e auxiliarão o usuário em suas 
atividades. Ou seja, os programas e os sistemas de programação 
utilizados por um computador e que permitem atender às 
necessidades do usuário. 
Exemplos 
- Sistemas Operacionais 
- Compiladores 
- Interpretadores 
- Utilitários 
- Aplicativos 
- Gerenciadores de Banco de Dados 
- Editores de Texto 
- Editores Gráficos 
- Planilhas Eletrônicas 
- Programas para Lazer 
3 
Computação Básica – carlacastanho@cic.unb.br 
Sistemas de Software 
 SISTEMA OPERACIONAL: 
 O sistema operacional cria um ambiente onde os usuários podem 
preparar seus programas e executá-los sem se preocupar com 
detalhes de hardware. 
 Um conjunto de programas, que desempenham rotinas 
necessárias ao funcionamento do computador, tais como: 
 gerenciamento da memória 
 administração dos dados 
 acionamento dos dispositivos 
 execução de programas utilitários 
4 
Computação Básica – carlacastanho@cic.unb.br 
Sistemas de Software 
 SISTEMA OPERACIONAL: 
 Pode ser considerado um programa intérprete e um gerenciador das 
atividades realizadas entre o usuário e o computador/hardware. 
 
 Até pouco tempo atrás cada SO era desenvolvido em consonância 
com as características de determinado microprocessador. 
 Hoje, não mais. 
Exemplos: 
Linux, Unix, Windows, Mac OS X, Chrome OS, 
Windows CE,Symbian, iOS, Android, MeeGo 
 
http://en.wikipedia.org/wiki/List_of_operating_systems 
5 
Computação Básica – carlacastanho@cic.unb.br 6 
 http://www.w3counter.com 
Top 500 
Supercomputadores 
http://www.top500.org 
Estatísticas de uso dos Sistemas Operacionais 
Sistemas de Software 
Computação Básica – carlacastanho@cic.unb.br 
Sistemas de Software 
 LINGUAGEM DE PROGRAMAÇÃO: 
 É um conjunto de termos (vocabulário) e regras (sintaxe) que 
permitem a formulação de instruções a um computador. 
 
 Permite construir programas para a resolução de problemas, 
(construção de aplicativos, utilitários e até de sistemas operacionais). 
 
 Existem várias linguagens diferentes, cada uma com recursos que 
facilitam aplicações específicas. 
 
Para um programador é mais importante compreender 
os fundamentos e técnicas da programação 
do que dominar esta ou aquela linguagem. 
7 
Computação Básica – carlacastanho@cic.unb.br 
Sistemas de Software 
 Linguagem de Máquina 
 
 Todo processador é capaz de ler, decodificar e executar instruções 
APENAS na sua própria linguagem de programação, composta de 
sequências de bits, chamada de Linguagem de Máquina. 
 
 Cada família de processadores é caracterizada por sua ISA 
(Instruction Set Architecture) ou Arquitetura do Conjunto de 
Instruções. 
 Exemplos: Arquiteturas IA-32 (x86), HP PA-RISC, PowerPC, ARM, 
MIPS, Motorola 68000, SUN SPARC, 8051, ... 
 
 Uma ISA pode ser implementada usando diferentes tecnologias. 
Ex.: x86 : i386, i486, Pentium, Pentium II, Pentium III, Pentium IV, 
Celeron, Centrino, Core, Core2, Core i7 (Intel), K-5, K-6, Sempron, 
Athlon, Opteron, Phenom, Phenom II, Turion (AMD) 
8 
Computação Básica – carlacastanho@cic.unb.br 
Sistemas de Software 
 Linguagem de Máquina 
 
 A programação em linguagem de máquina foi realizada nos primeiros 
computadores (Marks, ENIAC, etc), pois é baseada na codificação 
direta das instruções em cartões perfurados (representação de 0 e 1). 
 Ex.: 0000 0000 0001 1000 0001 1000 0010 0001 
 (instrução de 32 bits) ou 0x00181821 
 
 Com o conceito de programa armazenado, um programa pode ser 
manipulado como “dado” por outro programa, surgindo assim as 
primeiras ferramentas de programação - Montadores (Assembler) 
 
9 
Computação Básica – carlacastanho@cic.unb.br 
Sistemas de Software 
 Linguagem Assembly 
 
 A fim de facilitar a programação dos computadores, as instruções em 
linguagem de máquinas são codificadas em instruções que podem ser 
lidas e entendidas mais facilmente por seres humanos, a Linguagem 
de Montagem ou Assembly. 
 Ex.: add $2, $4, $2 # Reg[2] = Reg[4] + Reg[2] 
 
 O programa Assembly, composto por uma sequência de instruções, é 
transformado pelo programa montador (Assembler) no programa em 
linguagem de máquina a ser executado pelo processador. 
 
10 
Computação Básica – carlacastanho@cic.unb.br 
Sistemas de Software 
 Linguagens de Programação 
 
 Com o aumento da complexidade dos problemas a serem resolvidos, a 
forma de descrever uma solução (algoritmo) passou a ser melhor 
realizada utilizando-se linguagens de mais alto nível que a linguagem 
Assembly, isto é, linguagens mais próximas à linguagem humana. 
 
 1º Linguagem de alto nível : Plankalkül (Zuse, 1942~46) 
 1º de uso difundido: FORTRAN 
 “IBM Mathematical FORmula TRANslation System” 1954 
 
Breve história das linguagens pode ser obtida em: 
http://www.levenez.com/lang/ 
 
http://en.wikipedia.org/wiki/List_of_programming_languages 
 
 11 
Computação Básica – carlacastanho@cic.unb.br 
Sistemas de Software 
 Compilação x Interpretação 
 
 Compilação: Dado um programa em uma linguagem de alto nível, o 
compilador gera um programa na linguagem de máquina desejada 
para ser posteriormente executado a partir do Sistema Operacional. 
 Ex.: C, C++, Pascal, Basic, ... 
 
 Interpretação: Dado um programa em uma linguagem de alto nível, o 
interpretador executa o programa, isto é, converte as instruções em 
comandos em linguagem de máquina durante o tempo de execução. 
 Ex.: Javascript, Python, MatLab, Basic, ... 
 
12 
Computação Básica – carlacastanho@cic.unb.br 13 
 Compilação: 
Sistemas de Software 
Alguns compiladores apresentam 
o código executável diretamente 
(etapa transparente ao usuário) 
Código Fonte 
Código Executável 
Código Objeto 
Computação Básica – carlacastanho@cic.unb.br 
Compiladores e Interpretadores 
 COMPILADOR 
 Programa utilizado para traduzir o programa em uma linguagem de 
alto nível, para linguagem de máquina (código executável). 
 
Aparecem nesse processo dois tipos de ERROS, cuja correção consiste em 
boa parte da tarefa do programador: 
- Erros de compilação: sintaxe errada, que são mais fáceis de corrigir; 
- Erros de execução: podem ser fáceis de encontrar, como uma divisão por 
zero, ou podem ser mais difíceis de corrigir, originados por erros de raciocínio 
na elaboração do programa. 
programa 
fonte 
compilador 
Programa 
Executável 
Sistema 
Operacional 
Sistema 
Operacional 
Programa 
Executável 
Geração do programa executável Execução do programa 
14 
Computação Básica – carlacastanho@cic.unb.br 
Compiladores e Interpretadores 
 INTERPRETADOR 
 Programa que lê e executa uma instrução do programa em 
linguagem de alto nível por vez. 
 Nenhuma fase intermediária de compilação é necessária. 
 A execução do programa interpretado requer que o programa 
interpretador da linguagem esteja sendo executado no computador. 
 
programa 
fonte 
InterpretadorSistema 
Operacional 
Execução de um programa executável 
15 
Computação Básica – carlacastanho@cic.unb.br 
CONCLUSÃO 
16 
Para um programador é mais importante 
compreender 
os fundamentos e técnicas da programação 
do que dominar 
esta ou aquela linguagem.

Continue navegando