• Nenhum resultado encontrado

Informática. Prof. Macêdo Firmino. O Mundo dos Softwares e Introdução aos Sistemas Operacionais

N/A
N/A
Protected

Academic year: 2021

Share "Informática. Prof. Macêdo Firmino. O Mundo dos Softwares e Introdução aos Sistemas Operacionais"

Copied!
40
0
0

Texto

(1)

Inform´

atica

Prof. Macˆedo Firmino

O Mundo dos Softwares e Introdu¸c˜ao aos Sistemas Operacionais

(2)

Software

O Hardware n˜ao consegue executar qualquer a¸c˜ao sem receber instru¸c˜oes. Essas instru¸c˜oes s˜ao chamadas de software ou programas de computadores.

O software permite ao usu´ario configurar o computador para que proporcione o valor espec´ıfico de neg´ocio.

Exitem dois tipos de software:

Softwaresaplicativos: executam atividades espec´ıficas de

processamento de dados ou informa¸c˜ao. Isto ´e, manipulam dados ou texto para criar ou fornecer informa¸c˜oes. Estas atividades podem ser: processamento de texto, planilhas eletrˆonicas, gr´afico, multim´ıdia, administra¸c˜ao de dados, etc.

Softwaresb´asicos: ´e a classe de programas que controla e d´a suporte ao hardware. Age como intermedi´ario entre o hardware e os programas de aplicativos. O software aplicativo n˜ao consegue rodar sem o software b´asico. Os sistemas operacionais s˜ao os principais softwares b´asicos.

(3)

Software Aplicativos

Software Aplicativo s˜ao desenvolvidos para solucionar um problema em particular ou realizar uma tarefa espec´ıfica.

Um software aplicativo pode ser feito sob medida, especificamente para as necessidades de uma organiza¸c˜ao. A organiza¸c˜ao contrata programadores de computador para projetar, escrever, testar e implementar. Por exemplo, gerenciamento de uma cl´ınica m´edica ou controle de estoque de um supermercado.

Existe uma classe de programas aplicativos, chamados de pacotes, que s˜ao vendido em lojas, cat´alogos ou sites Web. Eles s˜ao criados para uma finalidade espec´ıfica. Os pacotes de aplicativos de uso geral mais utilizados s˜ao as planilhas eletrˆonicas, administra¸c˜ao de dados, processamento de texto, editora¸c˜ao eletrˆonica, gr´aficos, multim´ıdia e comunica¸c˜oes.

(4)

Processamento de Texto

O software de computador pessoal mais amplamente usado. Cria memorandos, relat´orios, boletins, propagandas e artigos.

Um pacote comum de processamento de texto consiste de um conjunto integrado de programas, incluindo programa editor,

programa de formata¸c˜ao, programa de impress˜ao, dicion´ario, corretor ortogr´afico, programa de correio eletrˆonico e programas integrados de gr´aficos, mapas e desenho.

(5)

Planilha eletrˆ

onica

Transforma a tela do computador em uma folha ou grade com linhas e colunas numeradas. Os usu´arios podem inserir dados num´ericos, texto e f´ormulas.

Os pacotes de planilhas eletrˆonicas s˜ao usados basicamente para apoio `

a decis˜ao, como no processamento de informa¸c˜oes financeiras (por exemplo, em demonstrativos financeiros ou an´alise de fluxo de caixa)

(6)

Gerenciamento de Banco de Dados

Encarrega-se do gerenciamento de uma cole¸c˜ao de dados

inter-relacionados. O software pode armazenar, recuperar, atualizar e manipular dados. Tamb´em pode apresentar relat´orio de dados de muitas maneiras e imprimi-los.

(7)

Gr´

aficos de Apresenta¸c˜

ao

O software gr´afico possibilita ao usu´ario criar, armazenar e mostrar ou imprimir esquemas, gr´aficos, mapas e desenhos.

Ele permite aos usu´arios absorver mais informa¸c˜oes de forma mais r´apida, identificar rela¸c˜oes e tendˆencias nos dados de forma mais f´acil e dar maior destaque a alguns aspectos.

Esses pacotes normalmente possuem ferramentas de desenho, modelos de apresenta¸c˜ao, diversos estilos de fonte, rotinas de corre¸c˜ao ortogr´afica, ferramentas de gr´aficos e outras para ajudar a montar m´ultiplas imagens dentro de uma apresenta¸c˜ao complexa.

(8)

Comunica¸c˜

ao

Este software permite aos computadores localizados pr´oximos ou distantes trocarem dados, codificar e decodificar transmiss˜oes de dados, verificar erros de transmiss˜ao (e corrigi-los automaticamente), comprimir fluxos de dados para uma transmiss˜ao mais eficiente e gerenciar a transmiss˜ao de documentos.

Um exemplo de software de comunica¸c˜ao ´e um navegador (browser ) para acessar arquivos na Internet.

(9)

Software B´

asico

O software b´asico pode ser agrupado em trˆes categorias principais:

Programas de controle do sistema: s˜ao programas que controlam o uso de hardware, software e recursos de dados do sistema computacional durante a execu¸c˜ao de uma tarefa de processamento de dados pelo usu´ario. O sistema operacional ´e o melhor exemplo de programa de controle do sistema.

Programas de desenvolvimento de sistemas: ajudam os usu´arios a desenvolver programas e procedimentos de processamento de informa¸c˜oes e a preparar aplicativos de usu´ario. Os principais programas de desenvolvimento s˜ao compiladores, tradutores e interpretadores de linguagem.

(10)

Software - Software B´

asico

Programas de suporte do sistema: d˜ao suporte `as opera¸c˜oes, gest˜ao e usu´arios do sistema computacional, fornecendo-lhes uma infinidade de servi¸cos. Exemplos de programas de suporte do sistema s˜ao:

monitores de desempenho e de seguran¸ca, verificar a integridade de discos magn´eticos, restaurar arquivos apagados por engano, localizar arquivos dentro da estrutura de diret´orio e Anti-v´ırus.

(11)

Introdu¸c˜

ao a Sistemas Operacionais

O principal componente de software b´asico ´e um conjunto de programas conhecido coletivamente como sistema operacional. O sistema operacional controla a comunica¸c˜ao do computador com o monitor, a impressora e os dispositivos de armazenamento. Ele tamb´em recebe e encaminha as entradas inseridas por meio do teclado e outras fontes de entrada de dados.

Os programas que rodam no computador utilizam diversos recursos controlados pelo sistema operacional. Esses recursos incluem o tempo da CPU, a mem´oria principal e os dispositivos de entrada/sa´ıda. O sistema operacional procura alocar o uso desses recursos da forma mais eficiente poss´ıvel.

O sistema operacional tamb´em faz a interface entre o usu´ario e o hardware para o usu´ario final disp˜oem de um sistema mais amig´avel.

(12)

Introdu¸c˜

ao a Sistemas Operacionais

O sistema operacional executa as seguintes fun¸c˜oes:

Gerenciamento de tarefas: ´e o preparo, agendamento e monitoramento de tarefas (programas) para processamento pelo sistema

computacional.

Gerenciamento de recursos: ´e o controle do uso dos recursos do sistema computacional utilizados pelos outros programas do software b´asico e software de aplicativos sendo executados no computador. Esses recursos incluem: a mem´oria principal, a mem´oria secund´aria, o tempo de processamento da CPU e os dispositivos de entrada/sa´ıda. Gerenciamento de dados: ´e o controle da entrada/sa´ıda dos dados, bem como sua localiza¸c˜ao, armazenamento e recupera¸c˜ao. Controlam a aloca¸c˜ao dos dispositivos de armazenamento secund´ario, o formato f´ısico e a cataloga¸c˜ao do armazenamento de dados, bem como a movimenta¸c˜ao dos dados entre os dispositivos de mem´oria principal e secund´aria.

(13)

Introdu¸c˜

ao a Sistemas Operacionais

Hardware Sistema Operacional Programas de Aplicação QWERTYUIOP ASDFGHJKL ZXCVBNM Num Lock 7 4 1 / 8 5 2 * 9 6 3 0 -+ Scroll Lock Print Scrn SysRqPauseBreak F1F2F3F4F5F6F7F8F9F10F11F12 Esc Home EndPageDown Page Up Insert Delete Enter 1234567890 Ctrl Ctrl Alt () * & ^ % $ # @ ! Shift Shift ` ~ Tab Caps Lock -_ = + \ | [ { ] } ; : ' " /? .> ,< End Home PgUp PgDn Del. Ins Num LockCapsLockScrollLock

(14)

Estrutura de um Sistemas Operacionais

Alguns dos componentes mais relevantes de um sistema operacional t´ıpico s˜ao:

Kernel (n´ucleo): ´e respons´avel pela gerˆencia dos recursos do hardware e distribui os recursos do sistema;

Drivers: m´odulos de c´odigo espec´ıficos para acessar os dispositivos f´ısicos.

Programas utilit´arios: s˜ao programas que facilitam o uso do sistema computacional, fornecendo funcionalidades complementares ao n´ucleo, como formata¸c˜ao de discos e m´ıdias, configura¸c˜ao de dispositivos, manipula¸c˜ao de arquivos, interpretador de comandos (shell), terminal, interface gr´afica, gerˆencia de janelas, etc.

(15)

Estrutura de um Sistemas Operacionais

Independentemente do sistema operacional, ao ligar o computador, um programa (chamado de carregador de inicializa¸c˜ao), armazenado em um chip (EEPROM) realiza alguns testes de componentes de hardware e carrega o kernel do disco r´ıgido para a mem´oria principal do computador;

Este processo de carregar o SO para a mem´oria ´e chamado de booting do sistema.

Somente quando necess´ario, o kernel carrega do disco outros programas do sistema operacional (este outros programas s˜ao chamados de n˜ao-residentes).

(16)

Sistemas Operacionais Modernos

Os trˆes principais sistemas operacionais modernos:

O Mac OS: ´e propriet´ario da Apple. Ele ´e pouco utilizado (cerca de 8,26%), geralmente em computadores da Apple.

O Windows da Microsoft ´e o dono do mercado com uma fatia superior a 82%, ele ´e um software propriet´ario. Como a licen¸ca ´e muito cara (acima de R$700), a maioria das pessoa usam o sistema de modo ilegal. O Linux ´e um sistema desenvolvido a partir da licen¸ca livre, ou seja, qualquer usu´ario pode usar sem pagar taxa nenhuma, e se a pessoa quiser e souber pode modificar o sistema da maneira como quiser. Ele ainda ´e pouco utilizado (cerca de 5,2%), por´em seu uso vem crescendo.

(17)
(18)

Mac OS

O Macintosh Operating System (Mac OS) ´e a denomina¸c˜ao do sistema operacional padr˜ao dos computadores Macintosh produzidos pela Apple.

Foi o primeiro sistema gr´afico amplamente usado em computadores a usar ´ıcones para representar os itens do computador, como

programas, pastas e documentos. Tamb´em foi pioneiro na

dissemina¸c˜ao do conceito de Desktop, com uma Mesa de Trabalho com ´ıcones de documentos, pastas e uma lixeira.

Serviu como modelo para o Windows e outros produtos GUI desenvolvidos a partir de ent˜ao.

(19)

Mac OS

A vers˜ao atual ´e o Mac OS X. Na sua d´ecima vers˜ao, o sistema foi remodelado como um todo, inclusive o n´ucleo que passou a ser baseado no do Unix BSD.

(20)

Linux

O Linux ´e uma familia de sistemas operacionais, descendente do UNIX, que usam o Linux kernel.

O Linux kernel foi criado em 1991 por Linus Torvalds no

departamento de Ciˆencia da Computa¸c˜ao da universidade de Helsinki na Finlˆandia.

Estes sistemas operacionais s˜ao distribu´ıdos gratuitamente pela Internet. Seu c´odigo fonte ´e aberto (software livre).

Isto quer dizer que vocˆe n˜ao precisa pagar nada para usar o Linux, fazer qualquer altera¸c˜ao que desejar e distribuir c´opias para instalar em outros computadores.

A ´unica restri¸c˜ao ´e que as altera¸c˜oes devem ser oferecidas ao p´ublico, sem nenhum custo.

(21)

Linux

Diversas empresas oferecem o Linux em um pacote (chamados de distribui¸c˜oes Linux) com programa de instala¸c˜ao, interface gr´afica, documenta¸c˜ao, suporte ao cliente e uma s´erie de utilit´arios e pacotes de aplica¸c˜ao.

(22)

Linux - Vantagens

O Linux tem diversas vantagens em rela¸c˜ao ao Windows:

Baixo custo: o Linux ´e baseado em software livre. Por isso, as

empresas que distribuem o sistema n˜ao cobram pelo sistema em si, mas por servi¸cos adicionais como publica¸c˜ao de manuais, suporte,

treinamento, etc.

Seguran¸ca: qualquer instala¸c˜ao ou altera¸c˜ao do sistema requer a autoriza¸c˜ao do “usu´ario root”, que ´e uma esp´ecie de usu´ario especial do sistema. Com isso, dificilmente um v´ırus ou programa malicioso ser´a instalado a n˜ao ser que vocˆe autorize, inserindo sua senha e nome de usu´ario.

Estabilidade: rara as vezes que ele trava.

Suporte on-line: com o Linux, vocˆe tem suporte de um grande n´umero de f´oruns, busca online e v´arios sites dedicados sobre o assunto. Capaz de rodar em m´ultiplas arquiteturas (palms, celulares, pcs, entre outros)

(23)

Linux - Desvantagens

As desvantagens do Linux em rela¸c˜ao ao Windows:

Escassez de aplicativos: o Windows ainda possui uma maior diversidade de programas (principalmente jogos). Por´em, `a medida que o Linux ganhar mais usu´arios esta desvantagens tender´a a desaparecer.

(24)

Windows

(25)

Sistemas Operacionais - Alocamento de Recursos

Agora iremos estudar uma das principais fun¸c˜oes do SO, o alocamento de recursos. A aloca¸c˜ao de recursos corresponde a atribuir recursos do computador a certos programas.

Principais quest˜oes relacionadas `a aloca¸c˜ao de recursos s˜ao:

Gerenciamento da Unidade Central de Processamento (CPU); Gerenciamento da Mem´oria;

Gerenciamento de Arquivos; Gerenciamento de Processos; Gerenciamento de Impress˜ao.

(26)

Gerenciamento da CPU

Multiprocessamento: corresponde a diversos processadores, dentro de um mesmo sistema de computa¸c˜ao, executando programas diversos ou cooperando na execu¸c˜ao de um mesmo programa.

Visto que a maioria dos computadores atualmente possuem uma ´

unica CPU, todos os programas devem compartilh´a-la. Para isso, foi definido:

Multiprograma¸c˜ao: corresponde a diversos programas distintos

(multitarefa) executando concorrentemente em um mesmo processador;

Tempo compartilhado: caso particular da multiprograma¸c˜ao onde cada usu´ario se conecta ao computador por meio de um terminal.

(27)

Gerenciamento da CPU - Multiprograma¸c˜

ao

A multiprograma¸c˜ao envolve dois ou mais programas sendo executados “ao mesmo tempo”, ou seja, concorrentemente.

Neste caso, um programa ´e executado durante determinado tempo e depois outro programa ´e executado (nunca simultaneamente);

Como a alternˆancia entre os programas ocorre de forma muito r´apida, todos os programas parecem estar sendo executados ao mesmo tempo.

Esta abordagem ´e baseada em um sistema de interrup¸c˜ao. Uma interrup¸c˜ao suspende o processamento para permitir a execu¸c˜ao de um outro programa. Depois que o segundo programa ´e executado, o sistema operacional retorna a CPU a outro programa.

(28)

Gerenciamento da CPU - Multiprograma¸c˜

ao

CPU Inativo tempo tempo Firefox Firefox Firefox Player Player

(29)

Gerenciamento da CPU - Multiprograma¸c˜

ao

Por exemplo:

Suponha que diversos programas estejam em execu¸c˜ao em um computador: dois s˜ao o Firefox e o Movie Player.

Quando o Firefox precisa obter os dados de um determinado site, esse programa ´e interrompido, enquanto o SO se encarrega de obter os dados. Neste instante, o SO pode alocar a CPU para o programa de v´ıdeo. O Movie Player passa ent˜ao a apresentar trechos de um v´ıdeo armazenado na mem´oria.

Quando o SO obt´em informa¸c˜oes sobre o site, uma interrup¸c˜ao ´e gerada. O SO suspende o Movie Player e ent˜ao determina qual programa retornar´a a CPU (neste caso o Firefox).

(30)

Gerenciamento da CPU - Tempo Compartilhado

O compartilhamento de tempo ´e uma extens˜ao da multiprograma¸c˜ao. Neste modo, um certo n´umero de usu´arios opera online com a mesma CPU, mas cada um utiliza um terminal de entrada/sa´ıda diferente; Cada usu´ario obt´em uma fatia de tempo (uma fra¸c˜ao de segundos) durante o qual o computador trabalha nas tarefas de um ´unico usu´ario;

Quando ocorre uma interrup¸c˜ao ou quando acaba o tempo do usu´ario, os recursos s˜ao tirados deste usu´ario e oferecidos a outros; Quando vocˆe se senta diante de um terminal, o tempo de resposta do computador ´e t˜ao breve (fra¸c˜ao de segundos) que pode parecer que o computador est´a trabalhando exclusivamente para vocˆe.

(31)

Gerenciamento da Mem´

oria

O gerenciamento de mem´oria tem como objetivo fornecer a cada aplica¸c˜ao uma ´area de mem´oria pr´opria, independente e isolada das demais aplica¸c˜oes e inclusive do n´ucleo do sistema;

Para isso o SO divide a mem´oria em ´areas (parti¸c˜oes) distintas; O isolamento das ´areas de mem´oria das aplica¸c˜oes melhora a estabilidade e seguran¸ca do sistema como um todo, pois impede aplica¸c˜oes com erros (ou aplica¸c˜oes maliciosas) de interferir no funcionamento das demais aplica¸c˜oes;

Os SOs colocam os programas que aguardam para ser executados em filas, baseando-se em sua prioridade. Desta forma, os programas s˜ao classificados em:

Primeiro plano: para programas com alta prioridade, que receber˜ao mais tempo de CPU (por exemplo, o gerenciador do mouse).

Segundo plano: para programas com menor prioridade, que receber˜ao menos tempo de CPU (por exemplo, um editor de texto).

(32)

Gerenciamento da Mem´

oria - Mem´

oria Virtual

Se vocˆe tivesse que carregar o sistema operacional, um programa de e-mail, um navegador e um processador de texto simultaneamente dentro da mem´oria RAM, provavelmente a capacidade da mesma n˜ao seriam suficientes.

Desta forma, in´umeros SOs modernos utilizam o conceito de mem´oria virtual. Com a mem´oria virtual, o computador pode procurar por ´

areas da RAM que n˜ao foram usadas recentemente e copi´a-las para o disco r´ıgido (HD). Isso liberar´a espa¸co na RAM para carregar um novo aplicativo.

Consequentemente os programas em execu¸c˜ao no momento est˜ao armazenados em disco e trechos desses programas s˜ao enviados a mem´oria quando necess´ario.

(33)

Gerenciamento da Mem´

oria - Mem´

oria Virtual

A velocidade de leitura/escrita de um disco r´ıgido ´e muito mais lenta do que a da RAM. Desta forma, se o sistema depende muito da mem´oria virtual, vocˆe notar´a uma queda significativa no desempenho. O principal mecanismo de implementa¸c˜ao da mem´oria virtual ´e:

Pagina¸c˜ao: ´e o processo de dividir um programa em partes de igual tamanho, denominadas p´aginas e armazen´a-las em espa¸co de mem´oria de igual tamanho (geralmente 4 KiB (kibibyte) = 4.096 bytes)

denominados molduras de p´aginas (page frames). Ou seja, o OS divide a mem´oria em p´aginas pequenas, de tamanho fixo e uma tabela de p´aginas controla as localiza¸c˜oes na mem´oria.

(34)

Gerenciamento da Mem´

oria - Mem´

oria Virtual

Memória Principal LOAD A Tabela de Páginas Disco A A |

Busca referência Localiza a página

Carrega a página e atualiza a tabela de páginas A C D F E B H

P´aginas menores, menor fragmenta¸c˜ao interna. Entretanto, p´aginas maiores, menores os gastos com as tabelas de p´aginas e mais eficientes as transferˆencias (E/S) em discos.

(35)

Gerenciamento da Mem´

oria

Em resumo, o SO ´e respons´avel pelas seguintes atividades em rela¸c˜ao `

a gerˆencia de mem´oria:

Manter registro de quais partes da mem´oria est˜ao sendo usados e por quem;

Alocar e desalocar espa¸co na mem´oria, conforme necess´ario; N˜ao permitir que um processo (sem permiss˜ao) acesse um endere¸co destinado a outro processo.

(36)

Gerenciamento de Arquivos

Um arquivo ´e uma cole¸c˜ao de informa¸c˜oes relacionadas. Normalmente, os arquivos representam programas ou dados;

O SO ´e respons´avel pelas seguintes atividades em rela¸c˜ao `a gerˆencia de arquivos:

Controla como os arquivos s˜ao estruturados, nomeados, acessados, usados e protegidos;

Criar e excluir arquivos; Criar e excluir diret´orios;

(37)

Gerenciamento de Processos

Um processo ´e um programa em execu¸c˜ao. Ele necessita de certos recursos, incluindo tempo de CPU, mem´oria, arquivos e dispositivos de I/O para realizar suas tarefas;

O SO ´e respons´avel pelas seguintes atividades em rela¸c˜ao `a gerˆencia de processos:

Criar e excluir processos; Suspender e retomar processos;

(38)

Gerenciamento de Recursos de Impress˜

ao

Se v´arios programas necessitem imprimir a respectiva sa´ıda, uma ou duas linhas de cada vez, entrela¸cadas com a sa´ıda de outro programa, o documento impresso de nada valeria;

Para contornar esse problema, usa-se um processo chamado spooling. Neste mecanismo o SO recebe os dados que iriam para a impressora de todos os programas interpreta enviando-a para um arquivo em disco;

Quando o programa finalizar a impress˜ao, o arquivo em disco ´e colocado em uma fila para ser impresso quando a impressora estiver dispon´ıvel.

Este processo permite a um programa concluir a execu¸c˜ao muito mais rapidamente. Pois, escrever em disco ´e muito mais r´apido do que escrever em uma impressora.

(39)

Adquirindo Software - Licen¸cas

As principais licen¸cas de softwares s˜ao:

Freeware: o autor fornece-o gratuitamente para ser usado por todos. O autor det´em o copyright (o software n˜ao pode ser alterado ou

redistribu´ıdo sem permiss˜ao.). Ele pode impor restri¸c˜oes ao uso. Software Open Source (Fonte Aberta): o c´odigo-fonte ´e

disponibilizado. Outros programadores podem modificar e redistribuir os programas livremente. Os usu´arios ajudam identificando erros (bugs) e na cria¸c˜ao de melhorias.

Shareware: software garantido por copyright, distribu´ıdo gratuitamente para um per´ıodo experimental. Se vocˆe gostar dele, deve registr´a-lo, pagando uma taxa. A maioria dos autores acrescenta documenta¸c˜ao, amplia¸c˜oes, suporte e atualiza¸c˜oes gratuitas para estimular as pessoas a fazer o registro.

(40)

´

Etica e Software Aplicativo

Pirataria: a aquisi¸c˜ao e uso ilegal de c´opias de software. Falsifica¸c˜ao: copiar grandes quantidades de CD-ROMs ou

DVD-ROMs e empacot´a-los de forma a se assemelharem aos originais. C´opia n˜ao-autorizada de software ´e roubo.

Referências

Documentos relacionados

No final, os EUA viram a maioria das questões que tinham de ser resolvidas no sentido da criação de um tribunal que lhe fosse aceitável serem estabelecidas em sentido oposto, pelo

insights into the effects of small obstacles on riverine habitat and fish community structure of two Iberian streams with different levels of impact from the

Taking into account the theoretical framework we have presented as relevant for understanding the organization, expression and social impact of these civic movements, grounded on

As análises serão aplicadas em chapas de aços de alta resistência (22MnB5) de 1 mm de espessura e não esperados são a realização de um mapeamento do processo

intitulado “O Plano de Desenvolvimento da Educação: razões, princípios e programas” (BRASIL, 2007d), o PDE tem a intenção de “ser mais do que a tradução..

Assim, almeja-se que as ações propostas para a reformulação do sistema sejam implementadas na SEDUC/AM e que esse processo seja algo construtivo não apenas para os

como enfoque o processo da reforma educativa em curso em Angola. Para isso, será realizada a análise à percepção dos professores e directores de escola face à

Esse pessimismo parte do princípio segundo o qual não adianta entender a mecânica quântica (Feynman, na verdade, segue Bohr), bastaria instrumentalizá-la. Na última citação de