O documento introduz conceitos básicos de ciência da computação e sistemas de informação, incluindo: (1) software, linguagens de programação e sistemas operacionais; (2) as classificações e funções do software básico e aplicativos; e (3) a virtualização de sistemas operacionais.
3. Software
Programa estruturado por um conjunto alterável de
instruções fornecidas ao hardware para a execução de
procedimentos necessários à solução dos problemas e
tarefas do processamento de dados.
Classificação em dois grupos:
Básico: sistema operacional, linguagem de
programação;
Aplicativos: controle de estoque, calculadora, sistema de
gestão de projetos.
3
4. Software
Básico:
Responsáveis pelo controle das tarefas que o
computador executa (sistemas operacionais) e pela
construção de programas para a resolução de um
determinado problema (linguagens de programação).
Aplicativos:
Programas escritos para uma aplicação específica.
4
5. Software
Alguns Tipos
Shareware:
Cópias ou alterações são proibidas;
Distribuídos na forma executável com direitos
específicos e geralmente são pagos;
Podem ser distribuídas cópias experimentais para
análise inicial. Em caso de satisfação, o usuário pode se
registrar, pagando uma taxa.
5
6. Software
Alguns Tipos
Demo ou Trial
Demo geralmente possuem apenas alguns níveis para
teste inicial;
Trial geralmente em alguns níveis, além de geralmente
não salvar ou exportar os trabalhos realizados.
Freeware:
Programas gratuitos, mas não exigem registro e não
têm taxa de utilização. Não é permitida sua alteração.
6
7. Software
Alguns Tipos
Beta:
Versão em desenvolvimento (freeware ou shareware);
Precede a versão oficial.
Software Livre:
Programas que mantém o copyright, e ainda assim
permitem:
livre distribuição;
acesso ao código-fonte;
direito de alterar o programa.
7
8. Linguagem de Programação
Uma linguagem de programação oferece instruções para
dizer ao computador o que fazer e definem os dados aos
quais se aplicam as instruções.
São classificadas em:
Baixo nível
Alto nível
“Quanto mais a linguagem computacional lembrar a
língua comum, maior seu nível.”
8
9. Linguagem de Programação
O que devemos aprender sobre uma linguagem de
programação?
Características básicas;
Estrutura de um programa;
Tipos de dados;
Operadores;
Estrutura de decisão;
Estruturas de repetição;
Definição de funções.
9
10. Linguagem de Programação
E para ser um bom desenvolvedor de software, o que é
necessário?
Inglês;
Conhecer os conceitos básicos da linguagem;
Conhecer os recursos da ferramenta;
Dividir para conquistar;
Comentar o código;
Identar o código;
Manter-se atualizado.
10
11. Sistemas Operacionais
Sistemas operacionais e a arquitetura de computadores
têm influência mútua:
A evolução de hardware necessita de sistemas
operacionais desenvolvidos;
A evolução dos sistemas operacionais necessita de
hardware desenvolvido.
12. Sistemas Operacionais
Programa intermediário entre o usuário e o hardware de
um computador, simplificando sua utilização;
Windows, Linux, Android;
Desempenha duas funções básicas:
Máquina estendida: oculta o hardware do
programador;
Gerenciador de recursos: fornece uma alocação
ordenada e controlada dos processadores, memórias e
dispositivos de E/S.
13. Sistemas Operacionais
Composição Básica
Um sistema operacional consiste, basicamente, de um
núcleo (kernel) e alguns programas do sistema:
Kernel - coração do sistema operacional, composto
pelas funções centrais do sistema operacional;
Programas de Sistemas: não são parte definitiva do
sistema operacional
Geralmente fornecidos pelo fabricante do
computador;
15. Sistemas Operacionais
Estrutura
Gerência de processos;
Gerência de memória principal;
Gerência de arquivos e sistema de E/S;
Gerência de armazenamento secundário;
Redes;
Sistema de proteção;
Sistema interpretador de comandos.