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
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.
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.
Introdução
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.
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.
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...
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.
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.
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.
Funções básicas de un SO
User Interfaces
Security Management
Device Management
File Management
Memory Management
Process Management
Hardware
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]
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.
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
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
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'.
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.
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
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...
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.
Programas y linguagem de Programação
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.
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.
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
Tarefa
1. C/C++
2. Java
3. C#
4. PHP
5. Windows
6. Linux
7. OS X
8. Compilers
9. Intérprete
10. Assembler
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

Noções Básicas do Software dos Computadores Digitais

  • 1.
    Noções Básicas doSoftware 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 desoftware. • 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.
  • 4.
  • 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 Osoftware 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 Seuobjetivo é 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 É aqueleque 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 Oconjunto 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 deun SO User Interfaces Security Management Device Management File Management Memory Management Process Management Hardware
  • 12.
    Tipos de SO Nome Fundação/Em presa Anode 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 linguagemde 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 linguagemde 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çãolegí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 decomputador 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 linguagemde 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.
  • 21.
    Programas y linguagemde Programação
  • 22.
    Modularização • Modularização emtecnologia 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 deprogramas 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 linguagensde 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 doSoftware dos Computadores Digitais Tema 1 | Conferência 2 | Computaçao I MSC. Henry Raúl González Brito henryraul@outlook.com, henryraul@gmail.com