AULA 3 Introdução ao Software Disciplina: Introdução à Informática Professor: Gustavo Leitão Email: [email protected] Introdução ao Software Conteúdo: Conceito de Software Classificação de Softwares Conceito de Sistema Operacional (S.O.) Funções Básicas de um S.O. Introdução à Informática 2 Introdução ao software Conceitos O que é um Software? São programas de computador Ferramentas (mecanismos) pelas quais exploramos os recursos do hardware; executamos determinadas tarefas; resolvemos problemas; interagimos com a máquina; tornamos o computador operacional. Instruções (programas de computador) que, quando executadas, produzem a função e o desempenho desejados. Introdução à Informática 3 Introdução ao software Conceitos Definição Clássica Software é uma sentença escrita em uma linguagem computável, para a qual existe uma máquina (computável) capaz de interpretá-la. A sentença (o software) é composta por uma seqüência de instruções (comandos) e declarações de dados, armazenável em meio digital. Ao interpretar o software, a máquina computável é direcionada à realização de tarefas especificamente planejadas, para as quais o software foi projetado. Introdução à Informática 4 Introdução ao software Conceitos As instruções de um software são codificadas/escritas em uma determinada linguagem O computador possui um conjunto de instruções que seu processador consegue executar diretamente -> código de máquina. Softwares são codificados/programados na maioria das vezes em linguagem de alto nível e não em código de máquina. Ex: Delphi, C++, Visual Basic. Linguagem de alto nível -> tradutor -> código de máquina Introdução à Informática 5 Introdução ao software Classificação SOFTWARE BÁSICOS UTILITÁRIOS APLICATIVOS OBS: Existem outras classificações, esta é apenas uma delas. Introdução à Informática 6 Introdução ao software Classificação Software Básico Todo o programa que é necessário ao funcionamento de um computador Permite ao usuário interagir com o computador e seus periféricos. Exs: Sistema operacional - SO É o mais importante Drivers de dispositivos Tradutores (compiladores, interpretadores) Firmwares Introdução à Informática 7 Introdução ao software Classificação Software Básico Driver de dispositivo Programa ou rotina que permite ao sistema operacional acessar (gerenciar) um dispositivo de entrada ou saída ou um outro periférico. O driver funciona como uma espécie de tradutor entre o dispositivo, uma placa de vídeo por exemplo, e o sistema operacional ou programas que o estejam utilizando. Em geral existe uma versão diferente do driver para cada sistema operacional. Introdução à Informática 8 Introdução ao software Classificação Software Básico Tradutores (compiladores, interpretadores,...) Programas que traduzem um programa escrito em uma linguagem para uma outra outra linguagem. Tipos básicos: Compilador: programa que, a partir de um código escrito em uma linguagem, o código fonte, cria um programa semanticamente equivalente porém escrito em outra linguagem, o código objeto. Ex: Delphi, C++. Interpretador: programa que lê um código fonte de uma linguagem de programação e o converte em código executável. Em muitos casos o interpretador lê linha-a-linha e converte em código objeto à medida que vai executando o programa. Exs: PHP, Perl; JavaScript. Obs: Interpretadores são normalmente mais lentos que os compiladores, porém mais flexíveis. 9 Introdução à Informática Introdução ao software Classificação Software Básico Firmwares Software que controla diretamente o dispositivo. Ex: Bios, softwares que vem gravados em alguns dispositivos eletrônicos (IPOD, microondas). Introdução à Informática 10 Introdução ao software Classificação Software Utilitário Softwares relacionados à manutenção do computador e de seus dispositivos, como desfragmentadores de disco, softwares de backup, antivírus, etc. Ex: Softwares de backup (SOS Backup, Backup do Windows, ArcServer, ...) Diagnóstico de disco rígido (Scandisk) Desfragmentadores de disco (Defrag, SpeedDisk,...) Anti-vírus (AVG, Norton, Mcafeee, AVAST...) Compactadores (WinZip, WinRar, FlZip, ...) Introdução à Informática 11 Introdução ao software Classificação Software Aplicativo São aqueles que servem diretamente ao usuário. Permitemno executar uma ou mais tarefas específicas. Ex: Sistema de Folha de Pagamento; Sistema de Contabilidade; Editores de texto (Word, Writer do BR Office, ...) Planilhas eletrônicas (Excel, Calc do BR Office,...) Software de edição de imagens (Paint, Photoshop, ...) Software Estatístico (SAS, S-PLUS, SPSS, ...) Sistemas de Informações Gerenciais Introdução à Informática 12 Sistema Operacional Conceitos Sistema Operacional – S.O. É o software responsável por gerenciar e disponibilizar para o usuário os recursos da máquina e seus periféricos, permitindo que o equipamento torne-se operável. Atua como intermediário entre o usuário e o hardware. Funções básicas Gerenciamento dos recursos de hardware (processador, memória, ...) e software (windows explorer, ...) Interface com o usuário Gerenciamento de dispositivos de E/S Interface para execução das aplicações Introdução à Informática 13 Sistema Operacional Visão Simplificada de um S.O. FUNÇÕES DO S.O. Introdução à Informática 14 Função Básica SO Compartilhamento de Recursos O que significa? Compartilhar recursos significa que diferentes usuários ou programas usam os recursos de forma concorrente Que recursos? Depende do sistema! Exs: CPU, disco, memória. Etc. Por que ocorre? Ocorre porque num mesmo computador ou sistema computacional pode-se ter mais de um programa ou mais de um usuário operando ao mesmo tempo. Como os recursos são limitados, o uso dos mesmos pelos diferentes programas ou usuários precisa ser controlado e administrado de forma a evitar possíveis conflitos. Introdução à Informática 15 Função Básica SO Compartilhamento de Recursos São recursos de Hardware: Tempo de Processador (CPU) Espaço de Memória Ex: O usuário pode estar lendo ou gravando dois arquivos distintos no HD. Dispositivos de Entrada e Saída Memória é um recurso compartilhado pelos programas Espaço para armazenamento de arquivos Tempo em que um processo irá „monopolizar‟ o uso da CPU Ex: Impressão de mais de um documento por vez. Dispositivos de Comunicação de Dados Ex: Operação de download de 2 arquivos simultaneamente; dois usuários conectados ao mesmo modem. Introdução à Informática 16 Função Básica SO Compartilhamento de Recursos São recursos de Software Softwares Utilitários Ex: Um usuário pode estar criando uma pasta no Explorer, enquanto em paralelo está fazendo uma busca para encontrar um arquivo. Bibliotecas de Funções (Dynamic Link Lybrary - DLLs) programa que contém funções e dados que podem ser usados por outro módulo (programa ou DLL). Ex: Uma mesma.ddl pode ser utilizada por mais de um aplicativo. Softwares Aplicativos Ex: Mais de um usuário acessado um determinado sistema. Introdução à Informática 17 Função Básica SO Interface com o Usuário Provê facilidades para o usuário Acessar o sistema Criar e Gerir Pastas / Arquivos e Programas Executar Programas Acessar dispositivos de E / S Acessar conteúdo de Arquivos Detectar erros de execução Contabilizar o Uso do sistema O usuário não se preocupa com a maneira como é feita a comunicação entre os programas e os dispositivos, como a leitura de um disquete: acionar a cabeça de leitura posicionando na trilha e setor desejados, transferir os dados do disco para a memória e, por fim, informar ao programa chegada dos dados. Introdução à Informática 18 Classificação Sistema Monotarefa Admite e gerencia apenas UMA tarefa em execução por vez 1 usuário Monotarefa x Multitarefa Ex. DOS, Win 3.1 Sistema Multitarefa Admite e gerencia VÁRIAS tarefas em processamento concomitante. Para o usuário parece que as tarefas estão sendo executadas em paralelo, mas na verdade não estão. Ex. Windows 98, Windows 2k/XP, Unix, Linux, ... Introdução à Informática 19 Classificação Sistema Monousuário Admite e gerencia apenas um usuário – não permite que mais de um usuário esteja “logado” simultaneamente Monousuário x Multiusuário Ex. DOS, Windows 98 Sistema Multiusuário Admite e gerencia vários usuários – permite que mais de um usuário esteja logado no sistema simultaneamente Ex. Windows NT/2K/XP, UNIX,LINUX... Introdução à Informática 20 Classificação Monoprocessado x Multiprocessado Sistemas Monoprocessados Somente reconhece uma única CPU Multitarefa ou Monotarefa Ex. DOS, Windows 98 Sistemas Multiprocessados Reconhece mais de uma CPU Execução simultânea (paralelismo real) Ex. Windows Windows 2k/NT/XP, Vista, linux, ... Introdução à Informática 21 Classificação Batch x Time Sharing Sistemas Batch Programas processados em lotes um de cada vez, não havendo interação com o usuário Sistemas Time Sharing Time Sharing é a técnica de “agendamento” do tempo de CPU para que a mesma possa ser compartilhada por múltiplas tarefas e múltiplos usuários, sendo que cada usuário tem a impressão/visualização de que suas tarefas estão sendo executadas de forma continua e em paralelo. Introdução à Informática 22 Classificação Aplicações Específicas Sistemas de Tempo Real Sistemas que possuem forte vínculo com o tempo. O resultado correto deve ser dado no tempo previsto. Tempo é crucial. Noção de tempo real é dependente da aplicação (milisegundos, minuto, horas) Ex: Controle de estoque: Não! Reserva de passagens aéreas: Não! Sistema de controle do avião: Sim! O que aconteceria se o sistema não controlasse os motores em tempo hábil ?... Sala de controle de usina nuclear: Sim! Sistema Contábil : Não! Introdução à Informática 23