1.
Software
Software é uma sequência de instruções escritas para serem interpretadas por um
computador com o objetivo de executar tarefas específicas. Também pode ser definido
como os programas que comandam o funcionamento de um computador.
Em um computador, o software é classificado como a parte lógica cuja função é
fornecer instruções para o hardware. O hardware é toda a parte física que constitui o
computador, por exemplo, a CPU, a memória e os dipositivos de entrada e saída. O
software é constituído por todos os programas que existem para um referido sistema,
quer sejam produzidos pelo próprio utente ou pelo fabricante do computador.
O termo inglês "software" foi usado pela primeira vez em 1958 em um artigo escrito
pelo cientista americano John Wilder Tukey. Foi também ele o responsável por
introduzir o termo "bit" para designar "dígito binário".
1.1. Tipos de Software
Os softwares podem ser classificados em três tipos:
a) Software de Sistema: é o conjunto de informações processadas pelo sistema interno
de um computador que permite a interação entre usuário e os periféricos do
computador através de uma interface gráfica. Engloba o sistema operativo e os
controladores de dispositivos (memória, impressora, teclado e outros).
b) Software de Programação: é o conjunto de ferramentas que permitem ao
programador desenvolver sistemas informáticos, geralmente usando linguagens de
programação e um ambiente visual de desenvolvimento integrado.
c) Software de Aplicação: são programas de computadores que permitem ao usuário
executar uma série de tarefas específicas em diversas áreas de atividade como
arquitetura, contabilidade, educação, medicina e outras áreas comerciais. São ainda
os videojogos, as base de dados, os sistemas de automação industrial, etc.
2. Sistema Operacional
O Sistema Operacional é o software que controla o computador e permite a
comunicação entre software e hardware. Ele consiste num conjunto de rotinas
(pequenos programas) que, além de controlar todo o fluxo de informações dentro do
computador ainda auxilia na utilização de linguagens e aplicativos, na manipulação de
discos, etc.
Sempre, ao se ligar o computador, o sistema operacional é o primeiro software que é
executado e permanece gerenciando a entrada e a saída de dados no computador até que
ele seja desligado. Como exemplo: MS-DOS, OS/2, UNIX, etc.
O sistema operacional é um conjunto de rotinas executadas pelo processador, que tem
como funções básicas:
gerenciar os vários recursos disponíveis no sistema, para atender da maneira
mais eficiente possível o usuário, e
gerenciar a execução dos programas do usuário, visando o melhor desempenho
do sistema todo.
Em sua forma mais usual, a estrutura de um sistema operacional pode ser visualizada
em camadas hierárquicas mostrada na figura abaixo, onde a camada mais interna,
correspondente ao hardware, que suporta todas as camadas de software.
A primeira camada de software a envolver o hardware é o núcleo (kernel), que se
comporta como um sistema operacional básico. Sobre o núcleo situam-se um conjunto
de serviços, constituíndo-se o sistema operacional propriamente dito, que fornece o
suporte necessário a execução de programas. Em seguida, tem-se a camada mais externa
correspondendo ao nível da aplicação, na qual este projeto atua diretamente.
Os principais componentes do sistema operacional residem no núcleo e são relacionados
a seguir:
a) Gerenciamento de I/O
Esconde as peculiaridades do hardware, fornecendo mecanismo de bufferização e
drivers dos dispositivos.
O mecanismo de bufferização poupa tempo de cpu evitando que as solicitações de E/S
sejam feitas diretamente nos dipositivos físicos. Ao invés disso, as E/S são feitas em um
buffer e de tempo em tempo são efetivadas nos dispositivos.
Os drivers dos dispositivos são rotinas que implementam as funções básicas tais como
leitura e escrita de caracteres e strings; assim não precisamos programar em baixo nível.
b) Gerenciamento de Arquivos
Implementa funções tais como:
gerenciamente de espaços livres
criação e deleção de arquivos
criação e deleção de diretórios
4
primitivas para manipulação de arquivos e diretórios (dir, copy, cd etc...)
mapeamento dos arquivos em disco etc...
c) Gerenciamento de Processos
Implementa funções de manipulação e gerenciamento de processos tais como:
criação e deleção de processos
escalonamento de processos
mecanismos de comunicação e sincronização entre processos etc...
Processos podem ser comparados com programas capazes de executar tarefas. Aos
processos são associados alguns atributos tais como: nome, proprietário, ponteiros para
posições da memória, contexto (conteúdo dos registradores e variáveis; situação em que
o hardware estava quando o processo foi suspenso) etc...
Existem basicamente dois tipos de processos: processos do usuário e processos do SO.
Os processos do usuário executam as tarefas do usuário e os processos do SO executam
as tarefas do SO (basicamente todas as funções do SO são executadas por processos
específicos) em beneficio dos usuários. Basicamente, os processos do usuário são
ativados pelo SO e os processos do SO são ativados pelo próprio SO ou via interrupções
(de hardware ou softwares).
d) Gerenciamento de Memória
Implementa funções tais como:
alocação e liberação de espaço de memória
gerenciamento de memória virtual (paginação e segmentação)
e) Proteção do Sistema
Protege o sistema contra usuários "espertinhos" e protege usuários contra outros
usuários não autorizados. Existem vários recursos do hardware que favorece o sistema
de proteção fornecido pelo SO.
Um destes recursos é o próprio mecanismo de memória virtual, que veremos mais
adiante. Neste mecanismo o hardware verifica se os acessos a memória estão dentro dos
limites de cada usuário.
Um outro recurso é a existência de dois modos básicos de execução, fornecidos pelo
hardware: o modo supervisor e o modo usuário. Quando o SO está com o controle da
máquina, o hardware está setado no modo supervisor. Quando o SO passa o controle
4
para a aplicação do usuário, ele seta o modo para usuário. Quando o controle volta para
o SO, através de uma interrupção, o modo é imediatamente setado para supervisor.
Com isso, o hardware sempre sabe se o processo que está executando é do sistema
(modo supervisor) ou do usuário (modo usuário), e assim pode impedir acessos não
autorizados.
3. Rede de Computadores
Rede de Computadores é: Uma rede de computadores é um conjunto de dois ou mais
dispositivos (também chamados de nós) que usam um conjunto de regras (protocolo)
em comum para compartilhar recursos (hardware, troca de mensagens) entre si,
através de uma determinada conexão, podendo ser: por fio de cobre, fibra ótica, ondas
de rádio e também via satélite.
3.1. tipos de redes de computadores
a) Virtual Private Network (VPN)
As redes virtuais privadas, normalmente, são utilizadas por empresas e profissionais que
precisam fazer viagens frequentes. Essa rede, por ser móvel, permite que um
computador, telefone ou tablet se conecte à rede por meio de uma conexão criptografada
em qualquer lugar do mundo. É possível, assim, obter acesso aos servidores de uma
companhia sem correr o risco de informações privadas serem capturadas.
b) Local Area Network (LAN)
Também conhecida como rede local, a LAN é um dos tipos de redes de computadores
mais comuns, que conecta computadores, aparelhos de fax, telefones, notebooks e
outros dispositivos em prédios, residências e diversos outros locais. Normalmente, a
velocidade de acesso nesses locais é reduzida, assim como sua complexidade.
c) Metropolitan Area Network (MAN)
As redes metropolitanas são utilizadas por grandes companhias para conectarem
dispositivos em uma mesma cidade. Podem, por exemplo, ser adotadas por organizações
ou instituições de ensino municipais. Como a MAN, muitas vezes, fará uso de um
espaço público, sua instalação deve ser feita por companhias devidamente licenciadas
pelo Estado.
4
d) Regional Area Network (RAN)
Maior do que a MAN, a RAN é um tipo de rede que se caracteriza por uma conexão de
alta velocidade e também uma grande quantidade de dispositivos conectados. Esse
modelo faz a cobertura de toda uma determinada região geográfica.
e) Wide Area Network (WAN)
As WANs conectam redes locais, metropolitanas e regionais em distâncias que podem
ser até intercontinentais! Para que a implementação desse tipo de rede seja viável, usa-
se diversos tipos de tecnologias, a fim de viabilizar a troca de dados em alta velocidade
mesmo em locais de difícil acesso.