O documento discute conceitos básicos de software para computadores digitais, incluindo:
1) Definições de software, sistemas operacionais, programas e linguagens de programação.
2) As principais categorias de software, como sistemas, aplicativos e de programação.
3) Os tipos mais comuns de sistemas operacionais, compiladores, intérpretes e ensambladores.
4) O conceito de modularização no desenvolvimento de software.
Noções Básicas do Software dos Computadores Digitais
1. Noções Básicas do Software
dos Computadores Digitais
Tema 1 | Conferência 2 | Computaçao I
MSC. Henry Raúl González Brito
henryraul@outlook.com, henryraul@gmail.com
2. Contenúo
• Definição de software.
• Categorias de software.
• Sistemas Operativos
• Funções básicas de un SO
• Tipos de SO
• Conceito de Programa: Intruções.
• Linguagens de Programação. Tipos de Linguagens.
• Modularização.
3. Bibliografía
• ASCENCIO, A. F. G. e CAMPOS, E. A. V. - Fundamentos da Programação de
• Computadores: Algoritmos, Pascal e C/C++; São Paulo: Prentice Hall,
2002.
• GUIMARÃES, A. M. e LAGES, N. A. C. - Algoritmos e Estruturas de Dados;
• Rio de Janeiro: Livros Técnicos e Científicos, 1994.
• VELOSO, P.; Dos SANTOS, C e AZEREDO, P. - Estruturas de Dados; 3ª ed.;
• Rio de Janeiro: Editora Campus, 1985.
• MIZRAHI, V. V. – Treinamento em Linguagem C++; São Paulo: Pearson
• Prentice Hall. 2006.
5. Definição de software
Software é um termo genérico para uma coleção organizada
de dados informáticos e instruções. Ele é responsável por
controlar, integrar e gerenciar os componentes de um sistema
informático de hardware e para a realização de tarefas
específicas. Em outras palavras, o software instrui o
computador o que fazer e como fazê-lo.
Por exemplo, o software instrui o hardware, sobre aquilo que
será exibido na tela do usuário, que tipo de entrada a ser
tomada a partir do usuário, e que tipo de saída a ser gerada.
6. CATEGORIAS DE SOFTWARE
O software pode ser dividido em três categorias principais:
1. Software de sistema: que proporciona as funções de
gestão dos recursos físicos e lógicos do computador.
2. Software de aplicação: que é utilizado pelos utilizadores
para realizar tarefas específicas.
3. Software de programação: utilizado para fazer programas.
7. Software de sistema
Seu objetivo é separar usuário
e programador de detalhes do
computador específico que
está sendo usado. O software
do sistema lhe dá ao usuário
interfaces de alto nível e
ferramentas que permitem a
manutenção do sistema.
Inclui, entre outros: Sistemas
operacionais, Drivers...
8. Software aplicativo
É aquele que permite aos usuários executar uma ou mais
tarefas específicas, em qualquer campo de atividade que
pode ser automatizado especialmente no campo dos negócio.
- Aplicações de controle e sistemas de automação industrial.
- aplicações de informática para o escritório.
- Software educacional.
- Software de negócios.
- Banco de dados.
- Telecomunicações.
- video games.
- Software médico.
- Software de calculo numérico e simbólico.
9. Software de programação
O conjunto de ferramentas que permitem ao programador
desenvolver programas de computador usando diferentes
alternativas e linguagens de programação, de forma prática.
Inclui, entre outros:
• Editores de texto
• Compiladores
• Intérpretes
• Linkers
• Depuradores
• IDE.
10. Sistema Operativo (SO)
• É a primeira camada de software que é carregado para
memória do computador, quando este é iniciado. É
responsável pela realização de serviços básicos comuns,
inclusive o acesso ao disco, gerenciamento de memória,
agendamento de tarefas e interface de usuário.
• Além disso, o sistema operativo garante que os diferentes
programas sejam executados, ao mesmo tempo, sem
interferirem-se uns com os outros
• Este fornece uma plataforma de software no topo da
estrutura de hardware de modos a permitir a execução de
outros programas. Em palavras simples, o sistema
operacional organiza e controla o hardware.
11. Funções básicas de un SO
User Interfaces
Security Management
Device Management
File Management
Memory Management
Process Management
Hardware
12. Tipos de SO
Nome
Fundação/Em
presa
Ano de
lançamento
Versão mais
recente
Percentagem Utilizadores
Windows Microsoft 2012 Windows 8 88.90%[2] 400
milhões[2]
OS X Apple Inc. 2013
OS X v10.9
"Mavericks"
5.54%[2] 22,5
milhões[2]
Sistemas
baseados
em Linux
Linus Benedict
Torvalds
2013
Linux Kernel
3.12
2,13%[2] 8,5
milhões[2]
13. Programas y linguagem de Programação
Um programa é uma lista ordenada de instruções que,
quando executado, faz com que o computador se comporte
de uma maneira predeterminada. Uma linguagem de
programação inclui uma série de comandos que são usados
no desenvolvimento de software.
As linguagens de programação são divididos em três
categorias:
• Linguagem de máquina;
• Linguagem de baixo nível (assembly);
• Linguagem de alto nível.
14. Programas y linguagem de Programação
A escolha de uma linguagem de programação, depende do
tipo de programa a ser desenvolvido, por exemplo, um
programa de sistema ou programa de aplicação. Escolher uma
línguagem particular tem consequências importantes, a
medida, se com esta, será fácil de escrever e manter o
programa.
System
Software
C
Applications
and
Components
Java
C++
Applications
Fortran
Visual Basic
Pascal
Scripts and
Macros
JavaScript
Word Basic
15. Aplicação dos Computadores - Entretenimento
Dependendo da linguagem de programação usada, tradutores
de língua são divididos em três categorias principais:
LanguageTranslators
Compilers
Interpreters
Assembler
16. Assembler
É uma notação legível por humanos para o código de máquina
que uma arquitetura de computador específica usa, utilizada
para programar dispositivos computacionais, como
microprocessadores e microcontroladores. A linguagem de
máquina, que é um mero padrão de bits, torna-se legível pela
substituição dos valores em bruto por símbolos chamados
mnemónicos.
Por exemplo, enquanto um computador sabe o que a instrução-
máquina IA-21 (10110000 01100001) faz, para os
programadores é mais fácil recordar a representação
equivalente em instruções mnemónicas MOV AL, 61h. Tal
instrução ordena que o valor hexadecimal 61 (97, em decimal)
seja movido para o registrador 'AL'.
17. Assembler
Cada arquitetura de computador
tem a sua própria linguagem de
máquina e. Diferem no número e
tipo de operações que suportam.
Também têm diferentes tamanhos
e números de registradores, e
diferentes representações dos
tipos de dados armazenados.
Enquanto todos os computadores
de utilização genérica são capazes
de desempenhar essencialmente
as mesmas funções, o modo como
o fazem é diferente.
18. Compilador
Um compilador é um programa de computador (ou um grupo de
programas) que, a partir de um código fonte escrito em uma
linguagem compilada, cria um programa semanticamente
equivalente, porém escrito em outra linguagem, código objeto.
São exemplos de compilador: Borland C++, Microsoft Visual C,
Dev-C++
Source Code Compiler
Executable
Program
19. Intérprete
• Um interpretador é outro tipo de tradutor de língua, que
analisa e executa o código-fonte, linha por linha, sem olhar
para o programa inteiro. Em outras palavras, um intérprete
traduz uma instrução de um programa e executa de
imediato.
• A vantagem de intérpretes é que podem executar um
programa espontaneamente. Já os compiladores requerem
algum tempo, porque o programa executável é construído,
com todo código fonte. No entanto, os programas
construídos por compilação são mais rapidamente
executados, dos mesmos que são interpretados.
• São exemplos de Linguagem interpretadas: PHP, Perl,
Python, JavaScript, Bash...
20. Programas y linguagem de Programação
• Linker: O linker é um programa de sistema que interliga
vários módulos do objeto e bibliotecas para formar um
programa único e coerente (executável).
• Loader: é um tipo de software de sistema, que é responsável
pelo carregamento e transferência do programa executável
para memória principal. As funções de um Loader inclui a
atribuição do tempo de carda de armazenamento e ajudar
um programa a ser executado de forma apropriada.
22. Modularização
• Modularização em tecnologia da informação é um conceito onde o
sistema ou software é divido em partes distintas. Compõe o
ferramental necessário para um programa mais legível com uma
melhor manutenção e melhor desempenho por meio da
programação estruturada.
• Pode ser caracterizado da seguinte forma: Elemento
separadamente endereçável do sistema, menor parte do sistema
que realiza uma função completa independente de outras funções,
conjunto de instruções de um programa que pode ser chamado por
um nome, sendo ideal que para os outros módulos seja uma caixa
preta.
23. Modularização
A modularização de programas juntamente com outras
técnicas de programação integram o ferramental para a
elaboração de programas visando, principalmente, os
aspectos de confiabilidade, legibilidade, manutenção e
flexibilidade, e Reutilização.
24. As 20 linguagens de programação mais
populares
• C
• Java
• Objective-C
• C++
• PHP
• C♯
• Visual Basic
• Python
• Perl
• JavaScript
• Ruby
• Visual Basic .NET
• Transact-SQL
• Lisp
• Pascal
• Bash
• PL/SQL
• Delphi / Object Pascal
• Ada
• MATLAB
25. Tarefa
1. C/C++
2. Java
3. C#
4. PHP
5. Windows
6. Linux
7. OS X
8. Compilers
9. Intérprete
10. Assembler
26. Noções Básicas do Software
dos Computadores Digitais
Tema 1 | Conferência 2 | Computaçao I
MSC. Henry Raúl González Brito
henryraul@outlook.com, henryraul@gmail.com