Curso: Bacharelado em Sistemas de Informação Turma BSI11 Disciplina: Introdução a Tecnologia da Informação
Professor (a): Cátia dos Reis Machado
SISTEMAS OPERACIONAIS
Ana Paula Reinecke¹ Chaiane Pereira Duarte²
Larissa Rozza Peluso³
Sumário
1- INTRODUÇÃO AOS SISTEMAS OPERACIONAIS ... 3
2- SISTEMAS OPERACIONAIS ... 4
2.1- História ... 4
2.2 - Visão geral do Sistema Operacional ... 5
2.3 - Sistemas operacionais modernos ... 6
2.4 - Arquitetura de Sistema Operacional ... 6
2.5 – Funcionamento do Sistema Operacional ... 7
GERENCIAMENTO DE PROCESSOS ... 7
GERENCIAMENTO DE MEMÓRIA ... 7
SWAPPING... 8
SISTEMA DE ARQUIVOS ... 8
2.6 - Interface de uso ... 8
GUI(GRAPHICAL USER INTERFACE) ... 8
TUI(TEXT USER INTERFACE) ... 9
CUI(COMMAND-LINE USER INTERFACE) ... 9
2.7 - Classificações ... 9
Quanto ao gerenciamento de processos, pode ser usado a seguinte classificação: ... 10
Quanto à quantidade de usuários que podem utilizar o sistema concorrentemente: ... 10
2.8 - Sistemas Operacionais Ativos ... 11
2.9 - Sistemas Operacionais Importantes que foram Descontinuados... 11
3 - Android ... 11
3.1 - Características do Unix e do Linux ... 14
3.2- Características do Windows ... 15
3.3 - TIPOS DE SISTEMAS OPERACIONAIS ... 17
SISTEMASOPERACIONAISPARACOMPUTADORESDEGRANDEPORTE ... 17
SISTEMASOPERACIONAISDESERVIDORES ... 17
SISTEMASOPERACIONAISDEMULTIPROCESSADORES ... 17
SISTEMASOPERACIONAISDECOMPUTADORESPESSOAIS ... 17
3.4- CONSIDERAÇÕES FINAIS ... 19
1- INTRODUÇÃO AOS SISTEMAS OPERACIONAIS
O sistema operacional é um conjunto de programas e rotinas que servem de interface do usuário com a máquina. A primeira geração de computadores não possuíam sistema operacional. Eram dedicados a um único usuário que escrevia e testava os programas na console. O modo monousuário de operação era economicamente defeituoso considerando o custo do equipamento. Os primeiros sistemas operacionais desenvolvidos, permitiam que programas fossem processados em lotes seqüenciais. Os programadores preparavam jobs em cartões perfurados, repassavam para o operador e somente teriam os resultados horas depois. Após, teriam que verificar os cartões visualmente, compilar o programa, esperar horas ou dias pelo resultado, corrigir os eventuais erros e novamente compilar e assim por diante. Assim o sistema em lotes tornou-se difícil para o desenvolvimento de programas complexos, devido ao longo tempo de espera dos resultados e difícil entendimento dos extensos cartões perfurados. Surgiu como alternativa o time-sharing. Neste sistema os programas são desenvolvidos interativamente, tornando-se mais eficiente. Porém muitos destes sistemas suportavam apenas algumas linguagens, também restringiam o acesso dos programadores aos recursos do sistema. Enfim com computadores pessoais, poderiam dedicar uma máquina completa e com todos os recursos para um único programador, porém estes computadores não tem capacidade para suportar os testes e eliminação de erros das aplicações complexas, pois possuem baixa capacidade de memória principal. Os computadores de grande porte possuem milhões de bytes, executando milhões de instruções por segundo, suportando muitos dispositivos, e que combinando com os computadores interativos pessoais torna-se ideal para o desenvolvimento dos programas que podem ser suportado por um sistema de máquina virtual. Assim os usuários tem acesso a um conjunto de periféricos e ampla memória principal com elevadas velocidades de computação.
.
2- SISTEMAS OPERACIONAIS
O sistema operacional (sistema operativo) é um programa ou um conjunto de programas responsável por gerenciar os recursos do sistema, ou seja, ele comanda todas as funções, além de fornecer uma interface entre o computador e o usuário. É o primeiro programa executado pela máquina no momento em que é ligada (num processo chamado de bootstrapping) e, a partir de então, não deixa de funcionar até que o computador seja desligado. Conforme alguns autores (Silberschatz et al, 2005; Stallings, 2004; Tanenbaum, 1999), existem dois modos distintos de conceituar um sistema operacional:
* através da perspectiva do usuário ou programador (visão top-down): é uma abstração do hardware, que faz o papel de intermediário entre o aplicativo (programa) e os componentes físicos do computador (hardware); ou
* numa visão bottom-up, de baixo para cima: é um gerenciador de recursos, que controla quais aplicações (processos) podem ser executadas, quando, que recursos (memória, disco, periféricos) podem ser utilizados.
A sigla usual que designa esta classe de programas é SO (em português, Sistema Operacional) ou OS (do inglês Operating System).
2.1- História
* O primeiro computador digital foi projetado pelo matemático inglês Charles Babbage (1792 – 1871). Mas embora ele tenha empregado a maior parte de sua vida e de sua fortuna para construir sua „máquina analítica‟, nunca conseguiu vê-la funcionando de modo apropriado, porque era toda mecânica e a tecnologia da época não poderia produzir as rodas, as engrenagens e as correias de alta precisão que eram necessárias. Foi com o professor John Atanasoff e seu então aluno de graduação Clifford Berry que foi construído o que consideramos o primeiro computador digital em funcionamento, na Universidade do Estado de Iowa; ele usava 300 válvulas.
Na primeira geração (1945-1955), os computadores, por serem muito grandes, ocupavam salas imensas, sendo construídos com válvulas e painéis; os sistemas operacionais "não existiam". Os programadores, que eram também os operadores, tinham o controle do computador por meio de chaves , fios e luzes de aviso. Na segunda geração (1955-1965), tinha o transistor, componente eletrônico que começou a popularizar-se na década de 1950, tendo sido o principal responsável pela revolução eletrônica, e foram criados os sistemas em lote (batch systems), que permitiram usar melhor os recursos computacionais. O sistema operacional tinha como base um programa monitor, usado para enfileirar tarefas (jobs). O usuário foi afastado do computador; cada programa era escrito em cartões perfurados, e eram carregados com o respectivo compilador (normalmente Fortran ou Cobol), por um operador, que usava uma linguagem de controle chamada JCL (Job Control Language). Ao iniciar a computação os primeiros sistemas operacionais eram únicos, porque cada mainframe (computador de grande porte) vendido precisava de um sistema operacional específico;
problema resultante de diferentes arquiteturas e da linguagem de máquina utilizada. Após essa fase, teve início a pesquisa de sistemas operacionais que automatizassem a troca de tarefas (jobs), pois os sistemas eram monousuários e tinham cartões perfurados como entrada (eliminando o trabalho de pessoas contratadas somente para trocar os cartões perfurados). Um dos primeiros sistemas operacionais de propósito geral foi o CTSS, que se desenvolveu no MIT. Depois do CTSS, o MIT, os laboratórios Bell da AT&T e a General Eletric desenvolveram o Multics, tendo como objetivo suportar centenas de usuários. Mesmo com o fracasso no comércio, o Multics serviu como base para o estudo e desenvolvimento de sistemas operacionais. Ken Thompson, um dos seus desenvolvedores, que trabalhava para a Bell, começou a reescrevê-lo num conceito menos ambicioso, criando o Unics (em 1969), que mais tarde passou a ser chamado Unix. Os sistemas operacionais eram programados em assembly, até mesmo o Unix em seu início. Sendo assim, Dennis Ritchie (também da Bell) criou a linguagem C a partir da linguagem B, criada por Thompson. Thompson e Ritchie reescreveram o Unix em C. O Unix criou um ecossistema de versões, destacando-se: System V e derivados (HP-UX, AIX); família BSD (FreeBSD, NetBSD, OpenBSD, etc.), Linux e até o Mac OS X (derivado do Mach e FreeBSD). Na década de 1970, quando surgiram os computadores pessoais, houve a necessidade de um sistema operacional que fosse de fácil utilização. Em 1980, William (Bill) Gates e seu colega de faculdade, Paul Allen, fundadores da Microsoft, compram o sistema QDOS (“Quick and Dirty Operating System”) de Tim Paterson por $50.000, batizando-no de DOS (“Disk Operating System”), vendendo licenças à IBM. O DOS vendeu muitas cópias, como o sistema operacional padrão para os computadores pessoais desenvolvidos pela IBM. IBM e Microsoft iriam fazer, ainda, uma parceria para o desenvolvimento de um sistema operacional multitarefa, o OS/2. Após o fim da breve parceria a IBM seguiu sozinha no desenvolvimento do OS/2. Ao começar a década de 1990, um estudante finlandês de computação postou um comentário numa lista de discussão da Usenet dizendo que estava desenvolvendo um núcleo de sistema operacional e perguntando se alguém gostaria de auxiliá-lo na tarefa. Este estudante se chamava Linus Torvalds e naquele momento foi dado o primeiro passo em direção ao tão conhecido Linux.
<- Sistema operacional em linha de comando.
2.2 - Visão geral do Sistema Operacional
O sistema operacional pode ser visto como um programa bem complexo e responsável por todo o funcionamento de uma máquina desde o software a todo hardware instalado na mesma. Todos os processos de um computador estão por de trás de uma programação complexa que comanda todas a funções impostas à máquina pelo utilizador. A abstração é um elemento-chave para gerenciar complexidade. Há vários sistemas operacionais; entre eles, os mais utilizados no dia a dia, normalmente em computadores domésticos, são o Windows, Linux e Mac OS X.
Dependendo do utilizador, um computador que tem o sistema operacional instalado poderá não dar acesso a todo o seu conteúdo. Com um sistema operacional, pode ser
estabelecido permissões a vários utilizadores que trabalham com este. Existem dois tipos de contas que podem ser criadas num sistema operacional, as contas de Administrador e as contas limitadas.
Conta de Administrador: oferece todo o acesso à máquina, desde a gestão de pastas, ficheiros e software de trabalho ou entretenimento ao controle de todo o seu Hardware instalado. Conta Limitada: não tem permissões para aceder a algumas pastas ou instalar software que seja instalado na raiz do sistema ou que tenha ligação com Hardware que altere o seu funcionamento normal ou personalizado pelo Administrador. Para que nesta conta possa ter acesso a outros conteúdos do disco ou do software, o administrador poderá personalizá-la oferecendo permissões a algumas funções do sistema como também poderá retirar acessos a certas áreas do sistema.
O sistema operacional funciona quando inicia os processos necessários para exercer sua função corretamente. Esses processos poderão ser ficheiros que precisam ser atualizados com muita frequência, ou ficheiros que processam dados úteis para o sistema. Pode-se ter acesso a diversos processos do sistema operacional a partir do gestor de tarefas, onde são encontrados todos os que estão em funcionamento desde o arranque do sistema operacional até a sua utilização atual. É possível visualizar também a utilização da memória por cada processo. No caso de o sistema operacional apresentar erros ou falhas de acesso a programas, tornando-se lento, pode ser verificado no gestor de tarefas qual dos processos estará bloqueado ou com número elevado de processamento que está a afetar o funcionamento normal da memória.
2.3 - Sistemas operacionais modernos
O sistema computacional moderno consiste em um ou mais processadores, memória principal, impressoras, discos, teclado, monitor, mouse, interfaces de rede e outros dispositivos de entrada e saída. Ou seja, é um sistema complexo. Dentre os conceitos fundamentais dos Sistemas Operacionais Modernos há a distinção entre o programa e a função de executá - lo. O programa é somente um conjunto estático de diretrizes e sua execução é uma atividade dinâmica. Os sistemas operacionais modernos permitem que múltiplos programas sejam executados ao mesmo tempo, diferente dos antigos, que permitiam apenas um por vez.
2.4 - Arquitetura de Sistema Operacional
O Sistema Operacional necessita de três elementos:Hardware – o computador digital constitui-se por um conjunto de componentes interligados, composto por memória principal, processadores, impressoras, registradores, terminais, discos magnéticos, além de outros dispositivos físicos (hardware), manipulando dados na forma digital e proporcionando uma maneira confiável de representação. Todos os componentes computacionais são agrupados em três subsistemas: memória principal, unidade central de processamento e dispositivos de entrada e saída. Estes subsistemas são chamados também de unidade funcional e estão presentes em todo computador digital, apesar da variação de
suas implementações nas diferentes arquiteturas existentes e comercializadas pelos diversos fabricantes de computadores.
Software – Para tornar o hardware útil, existe um conjunto de programas, utilizado como interface entre as necessidades do usuário e as capacidades do hardware; que é o software. A estilização de software adequados as diversas aplicações (conceito de chamadas) e tarefas torna o trabalho dos usuários mais simples e eficiente.
Dado - O armazenamento dos dados no hardware é na forma de bits, assim como no software. O sistema deve estar apto a armazenar, localizar e recuperar um dado específico requisitado por um programa.
2.5 – Funcionamento do Sistema Operacional
Funções de um sistema operacional:1. gerenciamento de processos; 2. gerenciamento de memória; 3. sistema de arquivos;
4. entrada e saída de dados.
Gerenciamento de processos
O sistema operacional multitarefa é preparado para dar ilusão ao usuário que o número de processos simultaneamente em execução no computador é maior que o número de processadores instalados. Cada processo recebe uma fatia do tempo e a alternância entre vários processos é tão rápida que faz o usuário pensar que sua execução é simultânea. Os algoritmos são utilizados para determinar qual processo será executado em determinado momento e por quanto tempo. Pode ter a comunicação entre os processos, isto é , IPC (Inter-Process Communication). Os mecanismos utilizados são:
sinais; pipes; named pipes; memória compartilhada; soquetes (sockets); trocas de mensagens.
O sistema operacional deve possibilitar o multiprocessamento (SMP ou NUMA). Neste caso, diferentes processos e threads podem ser executados em processadores diferentes. Para isso, ele deve ser reentrante e interrompível, ou seja, que pode ser interrompido no meio da execução de uma tarefa.
Gerenciamento de memória
O sistema operacional tem acesso completo à memória do sistema, devendo permitir que os processos dos usuários tenham acesso seguro à ela quando o requisitam.
Diversos sistemas operacionais usam memória virtual de 3 funções:
1. assegurar que cada processo tenha seu próprio espaço de endereçamento, começando em zero, para evitar ou solucionar o problema de relocação (Tanenbaum, 1999); 2. prover proteção da memória para impedir que um processo utilize um endereço de
memória que não lhe pertença;
3. possibilitar que uma aplicação utilize mais memória do que a que existe fisicamente.
Swapping
Dentro do gerenciamento de memória muitas vezes não é possível manter todos os processos em memória, por não existir o suficiente para alocar aquele processo. Para resolver esse problema existe um mecanismo chamado swapping. A gerência de memória reserva uma área do disco para o seu uso em determinadas situações. Um processo é copiado inteiramente da memória para o disco, este processo é retirado da fila do processador e mais tarde será copiado novamente para ela e então ficará ativo o processo na fila de novo. O resultado desse revezamento no disco é que o sistema operacional consegue executar mais processos do que caberia em um mesmo instante na memória. Swapping impõe aos programas um enorme custo em termos de tempo de execução, porque é necessário copiar todo o processo para o disco e mais tarde copiar novamente para a memoria. Em sistemas onde há a interação do usuário com o programa durante sua execução, o mecanismo de swapping é utilizado em último caso, quando não é possível manter todos os processos na memória. Visto que a queda no desempenho do sistema é imediatamente sentida pelo usuário.
Sistema de arquivos
A memória principal do computador é volátil, com tamanho limitado pelo custo do hardware. Desta forma, os usuários precisam de algum método para armazenar e recuperar informações de modo permanente. O arquivo é um conjunto de bytes, geralmente armazenado em um dispositivo periférico não volátil (exemplo: disco), que pode ser lido e gravado por um ou mais processos.
2.6 - Interface de uso
São fornecidos pelos sistemas operacionais a abstração de hardware para que possam ser usados seus recursos de maneira correta e padronizada. Mas para possibilitar a operação de um computador, é necessário fornecer também uma interface para que o usuário possa desfrutar dos recursos do sistema. Existem três tipos de interface: GUI (Graphical User Interface) ou interface gráfica, TUI (Text User Interface) ou interface textual, e CUI (Command-line User Interface) ou interface de linha de comando.
GUI (Graphical User Interface)
Nessa interface, o usuário tem a disposição um ambiente de trabalho composto por janelas, menus, ícones e outros itens disponíveis, podendo interagir com ela usando o mouse, e também o teclado e teclas de atalho. É possível fazer todo tipo de tarefa usando interface
gráfica, como edição de imagens e vídeos, sendo apenas alguns tipos específicos de tarefas que se saem melhor em linha de comando. Acrescentar facilidade de uso e agilidade é a meta da GUI, tendo a desvantagem de consumir mais memória que interfaces de linha de comando. Nos sistemas unix-likes, há a possibilidade de escolher o gerenciador de janelas a utilizar, aumentando a liberdade de escolha do ambiente.
TUI (Text User Interface)
A TUI também tem à disposição um ambiente de trabalho composto por menus, janelas e botões, assim como na GUI, mas essas interfaces não conseguem reproduzir figuras, salvo as que são tratadas como caracteres ASCII. O uso dessa interface, antes da popularização da GUI, era difundido em aplicações baseadas no MS-DOS, que, nas versões mais recentes contava com um gerenciador de programas e arquivos com base em TUI (o DOS Shell). As TUIs, ao contrário das GUIs, não dependem de um gerenciador de janelas específico para funcionar, e podem ser inicializadas a partir da linha de comando. Essa interface é muito rara atualmente, e é praticamente restrita a sistemas implementados na década de 1980 e início da década de 1990.
CUI (Command-line User Interface)
A interface de linha de comando funciona com a digitação de comandos, sendo nesse relativamente pouco interativa. Os comandos digitados são interpretados pelo interpretador de comandos, conhecidos por shells, comuns em sistemas unix-likes. Um exemplo de interpretador de comandos seria o Bash, usada por usuários avançados e em atividades específicas, como gerenciamento remoto; utiliza poucos recursos de hardware em comparação a interface gráfica. Nesse tipo de ambiente, o mouse é dificilmente usado, embora seja possível através do uso da biblioteca ncurses no desenvolvimento dos softwares.
2.7 - Classificações
Segundo Tanenbaum (1999), em relação ao seu projeto (arquitetura):
Núcleo monolítico ou monobloco: o núcleo consiste em um único processo executando numa memória protegida (espaço de núcleo) as principais funções. Exemplo: MAC OS X, OS/2, Windows, Linux, FreeBSD.
Micronúcleo ou modelo cliente-servidor: o núcleo consiste de funções mínimas (comunicação e gerenciamento de processos), e outras funções, como sistemas de arquivos e gerenciamento de memória, são executadas no espaço do usuário como serviços; as aplicações (programas) são os clientes. Exemplo: GNU Hurd, Mach.
Sistema em camadas: funções do núcleo irão executar em camadas distintas, de acordo com seu nível de privilégio. Exemplo: Multics.
Monitor de máquinas virtuais: fornece uma abstração do hardware para vários sistemas operacionais. Exemplo: VM/370, VMware, Xen.
Quanto ao gerenciamento de processos, pode ser usado a seguinte
classificação:
* Monotarefa: pode-se executar apenas um processo de cada vez. Exemplo: MS-DOS.
* Multitarefa: além do Sistema Operacional, vários processos de utilizador (tarefas) estão carregados em memória, sendo que um pode estar ocupando o processador e outros ficam enfileirados, aguardando a sua vez. O compartilhamento de tempo no processador é feito de modo que o usuário tenha a impressão que vários processos estão sendo executados simultaneamente. Cada processo recebe um tempo para ser executado. Ao final desse tempo, outro processo é executado. Essa alternância de processos chama-se concorrência.
Exemplo: OS/2, Windows, Linux, FreeBSD e o Mac OS X. Cabe destacar que processos só podem executar simultaneamente caso o sistema seja multiprocessado, já que, em que cada instante de tempo, apenas um processo estará em execução em um processador ou núcleo de processamento (core).
* Multiprocessamento: o Sistema Operacional distribui as tarefas entre dois ou mais processadores. Se os processadores estiverem na mesma máquina fisica, o sistema chama-se Sistema Multiprocessado Fortemente Acoplado. Caso esteja em máquinas diferentes, trata-se de um Sistema Multiprocessado Fracamente Acoplado.
Quanto à quantidade de usuários que podem utilizar o sistema
concorrentemente:
* Monousuário: apenas um usuário por vez (apesar de conseguir suportar recursos como troca de usuário). Exemplo: Windows. Esse também pode ser acessado por terminais e conexão remota.
* Multiusuário: vários usuários podem usar o computador ao mesmo tempo, seja por diversos terminais, seja por conexão remota como o SSH. Exemplo: Linux, Unix.
2.8 - Sistemas Operacionais Ativos
Microsoft Windows Mac OS X
Linux (várias distribuições) Solaris FreeBSD Haiku eComStation FreeDOS Unix System V MINIX OpenBSD NetBSD DragonflyBSD MenuetOS
Windalis PLATINUz Home Premium Inferno_(Sistema_Operacional) MeeGo.
2.9 - Sistemas Operacionais Importantes que foram Descontinuados
MS-DOS OS/2 BeOS NeXTStep CP/M
3 - Android
O sistema Android é um sistema operacional móvel criado pelo Google. Ao contrário do iPhone, que tem seu próprio sistema operacional exclusivo para o hardware do iPhone, a abordagem do Google foi criar um sistema operacional que poderia funcionar em telefones feitos por diferentes fabricantes, e nenhum provedor de serviço único teria direitos exclusivos de usar a plataforma Android. Em relação a isso, o Android se junta a outros sistemas operacionais móveis, como o Symbian e o Windows Mobile. O primeiro telefone Google foi o G1, um handset fabricado por uma empresa baseada em Taiwan chamada High Tech Computer Corporation (HTC). O primeiro provedor de serviço a suportar o Android nos EUA foi a T-Mobile. Como o sistema operacional estreou nos Estados Unidos, outros fabricantes de handset anunciaram planos para desenvolver seus próprios telefones com Android. Um fator importante que o posiciona distante da maioria dos sistemas operacionais móveis é que ele está baseado em uma plataforma de código aberto. Isso significa que o Google permite a qualquer um olhar e modificar a maior parte do código fonte do Android. Idealmente, isso significaria que se um desenvolvedor sentisse que o Android precisasse de um recurso ou capacidade específica, ele ou ela poderia construí-la e incorporá-la ao sistema operacional. O software evoluiria constantemente. Inicialmente, essa plataforma não suportava muitos dos recursos dos outros sistemas operacionais para smartphones. Por exemplo, o Android não
oferecia suporte ao Microsoft Exchange. Muitas companhias usam o Microsoft Exchange como plataforma de e-mail e aplicações de agenda. Mas por causa da natureza open source do Android e do suporte do Google a desenvolvedores terceiros, não demorou muito tempo para a companhia oferecer uma aplicação que sincronizasse as funções do Exchange com o telefone. A plataforma Android pode ter de correr atrás dos outros sistemas operacionais do mercado, mas ela tem a capacidade de ir muito mais além.
O Android é um sistema operacional open-source, que pode vir a se tornar a plataforma dominante entre os smartphones ao longo dos próximos anos.
Esse sistema roda sobre o núcleo Linux; e foi desenvolvido, no início, pelo Google, que continua responsável pela gerência do produto e engenharia dos processos, e posteriormente pela Open Handset Alliance. Essa plataforma suporta uma grande variedade de tecnologias de conectividade , entre elas Bluetooth, EDGE, 3G, e Wi-Fi; o navegador disponível no sistema é baseado no framework de código aberto, e a vantagem é que ela pode ser adaptada tanto em dispositivos VGA maiores, quanto nos tradicionais de smartphones.
O Android agrada a 4 públicos diferentes, que possuem interesses muitas vezes antagônicos: os fabricantes de celulares, os desenvolvedores, os fabricantes de chips (incluindo a Intel) e tem tudo para agradar também os consumidores.
Agrada os fabricantes, pois é um sistema open-source, bem construído e que poderá ser usado sem custo nos aparelhos, ao contrário de sistemas como o Symbian e o Windows Mobile, usados atualmente. Agrada os desenvolvedores, pois tem uma SDK aberta, que permite desenvolver aplicativos facilmente, diferente de plataformas fechadas, como o iPhone.
O Android agrada também aos fabricantes de chips, porque adiciona novos recursos aos celulares, o que aumentará a procura por processadores mais rápidos, impulsionando o desenvolvimento e a venda de novos produtos (a Intel está particularmente interessada nas perspectivas para o Intel Atom). Como o sistema é open-source, existe a possibilidade de portá-lo para diferentes plataformas conforme necessário, assim como no caso do Linux, que roda tanto em micros PC, quanto em clusters de servidores e em smartphones.
A combinação disso tem tudo para dar origem a aparelhos melhores e possivelmente mais baratos que os atuais (devido à economia de escala), o que naturalmente tende a agradar aos consumidores.
O Google tem investido bastante no desenvolvimento do Android, não apenas montando uma boa equipe de desenvolvimento e investindo em contatos com fabricantes e na divulgação do sistema, mas também oferecendo US$ 10 milhões em prêmios para os desenvolvedores que desenvolverem os aplicativos mais originais para a plataforma. É provável que a primeira geração de aparelhos baseados no Android ainda possuam arestas a aparar, ou sejam simplesmente caros demais, devido ao fator novidade, mas com o tempo a plataforma tende a se estabelecer e passar a ser usada por vários fabricantes.
A idéia central é que os celulares atuais possuam conexões contínuas com a web, via GPRS, EDGE ou mesmo conexões 3G. Hoje em dia, estas conexões são usadas apenas para
tarefas simples, como navegação básica e envio de mensagens curtas, mas os aplicativos do Google permitem estender isso.
3.1 - Características do Unix e do Linux
UNIX
* Interativo – Os comandos são requisitados pelo usuário e obtém os resultados de sua execução através do terminal.
* Multitarefa – Um único usuário pode requisitar que sejam efetuados diversos comandos ao mesmo tempo em seu terminal. É responsabilidade do sistema UNIX controlar estas execuções paralelas.
Quando um usuário executa mais de um comando ao mesmo tempo, geralmente é apenas um que necessita a interação com o usuário. Os demais comandos executados são comandos que não exigem a atenção do usuário, sendo tarefas demoradas. Quando isto ocorre, dizemos que os programas que o usuário está executando sem a interação ficam em Background. O programa que o usuário está executando e interagindo fica em Foreground.
* Multiusuário – O UNIX pode controlar o acesso ao sistema através de vários terminais, virtuais ou reais, cada um pertencendo a um usuário. Ele aceita as requisições de comandos de cada um dos usuários e gera as filas de controle e prioridades para que haja uma distribuição correta dos recursos de hardware que são necessários a cada usuário. Devido a característica de ser um sistema multiusuário, o UNIX implementa um sistema de segurança para impedir o acesso aos arquivos e diretórios de um usuário por outro.
LINUX
* É de graça e desenvolvido voluntariamente por programadores experientes, hackers, e contribuintes espalhados ao redor do mundo que tem como objetivo a contribuição para a melhoria e crescimento deste sistema operacional;
* Convivem sem nenhum tipo de conflito com outros sistemas operacionais (como o DOS, Windows, OS/2) no mesmo computador;
* Suporte a nomes extensos de arquivos e diretórios (255 caracteres);
* Conectividade com outros tipos de plataformas como Apple, Sun, Macintosh, Sparc, Alpha,
PowerPc, ARM, Unix, Windows, DOS, etc.;
* Proteção entre processos executados na memória RAM; * Suporte há mais de 63 terminais virtuais (consoles);
* Modularização - O Linux somente carrega para a memória o que é usado durante o processamento, liberando totalmente a memória assim que o programa/dispositivo é finalizado; * Devido a modularização, os drivers dos periféricos e recursos do sistema podem ser carregados e removidos completamente da memória RAM a qualquer momento. Os drivers (módulos) ocupam pouco espaço quando carregados na memória RAM (cerca de 6Kb para a Placa de rede NE 2000, por exemplo);
* Não há a necessidade de se reiniciar o sistema após modificar a configuração de qualquer periférico ou parâmetros de rede. Somente é necessário reiniciar o sistema no caso de uma instalação interna de um novo periférico, falha em algum hardware (queima do processador, placa- mãe, etc.);
* Não precisa de um processador potente para funcionar. O sistema roda bem em computadores 386sx 25 com 4MB de memória RAM (sem rodar o sistema gráfico X, que é recomendado 8MB de RAM);
* O crescimento e novas versões do sistema não provocam lentidão, pelo contrário, a cada nova versão os desenvolvedores procuram buscar maior compatibilidade, acrescentar recursos úteis e melhor desempenho do sistema (como o que aconteceu na passagem do Kernel 2.0.x para 2.2.x); * Não é requerida uma licença para seu uso. O Linux é licenciado de acordo com os termos da GPL;
* Acessa sem problemas discos formatados pelo DOS, Windows, Novell, OS/2, NTFS, SunOS, Amiga, Atari, Mac, etc;
* Utiliza permissões de acesso a arquivos, diretórios e programas em execução na memória RAM;
* Rede TCP/IP mais rápida que no Windows e tem sua pilha constantemente melhorada. O Linux tem suporte nativo a redes TCP/IP e não depende de uma camada intermediária como o Winsock. Em acessos via modem a Internet, a velocidade de transmissão é 10% maior;
* Roda aplicações DOS através do DOSEMU. Para se ter uma idéia, é possível dar o boot em um sistema DOS qualquer dentro dele e ao mesmo tempo usar a multitarefa deste sistema;
* Roda aplicações Windows através do WINE; * Suporte a dispositivos infravermelho;
* Suporte a rede via rádio amador; * Suporte a dispositivos Plug-and-Play; * Suporte a dispositivos USB;
* Vários tipos de firewalls de alta qualidade e com grande poder de segurança de graça; * Roteamento estático e dinâmico de pacotes;
* Ponte entre Redes;
* Proxy Tradicional e Transparente;
* Possui recursos para atender a mais de um endereço IP na mesma placa de rede, sendo muito útil para situações de manutenção em servidores de redes ou para a emulação de "mais computadores" virtualmente. O servidor WEB e FTP podem estar localizados no mesmo computador, mas o usuário que se conecta tem a impressão que a rede possui servidores diferentes.
* O sistema de arquivos usado pelo Linux (Ext3) organiza os arquivos de forma inteligente evitando a fragmentação e fazendo-o um poderoso sistema para aplicações multi-usuárias exigentes e gravações intensivas;
* Permite a montagem de um servidor Web, E-mail, News, etc. com um baixo custo e alta performance. O melhor servidor Web do mercado, o Apache, é distribuído gratuitamente junto com o Linux. O mesmo acontece com o Sendmail;
* Por ser um sistema operacional de código aberto, é possível ver o que o código fonte (o que foi digitado pelo programador) faz e adaptá-lo as suas necessidades ou de sua empresa. Esta característica é uma segurança a mais para empresas sérias e outros que não querem ter seus dados roubados (você não sabe o que um sistema sem código fonte faz na realidade enquanto esta processando o programa);
* Suporte a diversos dispositivos e periféricos disponíveis no mercado, tanto os novos como obsoletos;
* Pode ser executado em 10 arquiteturas diferentes (Intel, Macintosh, Alpha, Arm, etc.); * Consultores técnicos especializados no suporte aos sistemas espalhados por todo o mundo; * Entre muitas outras características que são descobertas durante o uso do sistema.
* Baseado na tecnologia do Windows 2000
Com o Windows XP, a Microsoft une as características de seus sistemas operacionais domésticos com o da segurança e da confiabilidade do Windows 2000 para criar um novo sistema operacional mais amigável e confiável.
* Proteção de arquivos
Previne a alteração ou remoção acidental de arquivos essenciais ao funcionamento do sistema operacional. Se o usuário apagar arquivos DLL essenciais, por exemplo, segundos depois, eles voltam ao lugar.
* Proteção do núcleo do Windows XP
A exemplo do Windows 2000, os programas não têm acesso ao Kernel (núcleo) do código do sistema operacional. Ou seja, se um software trava, o funcionamento do Windows XP não é prejudicado.
* Separação de processos
Outra característica herdada do Windows 2000. Cada programa está em um espaço de memória completamente separado e protegido. Assim, um eventual travamento em um deles não atrapalha o funcionamento dos outros.
* DLLs "lado a lado"
Um recurso faz com que múltiplas versões de componentes de sistema rodem "lado a lado". Assim, se o usuário instalar um programa cujos arquivos DLL sejam mais antigos do que aqueles já existentes no Windows XP, ele mantém as duas versões, impedindo conflitos.
* Monitor do sistema
Analisa centenas de sistemas métricos distintos, incluindo resultados de memória, disco rígido e rede.
* Gerenciador de tarefas
Fornece ferramentas para uma performance mais útil do PC e permite fechar programas inativos. Pode-se optar também por um mecanismo de relatório que melhor se adapte às suas necessidades específicas.
* Vida útil de bateria melhorada
Permite melhorar a vida útil da bateria do seu computador móvel conservando o indicador de potência de duas maneiras: Lid Power (quando a tampa do computador móvel está fechada, o display indica off) e LCD Dimming (quando o computador móvel está rodando com a bateria, o display fica escurecido; quando reconecta-se o computador móvel a uma fonte AC, o brilho original é restaurado).
* Internet Connection Firewall
O Internet Connection Firewall ajuda a proteger o PC de invasões quando você está conectado à Web.
* Gerenciador de contas
Um local seguro para guardar suas configurações de usuário e senha para diversos serviços ou sites da rede. Você cadastra ali apenas uma vez e, quando precisar entrar em algum destes sites ou serviços, o Windows XP busca a senha necessária.
3.3 - TIPOS DE SISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS PARA COMPUTADORES DE GRANDE PORTE * Tem maior capacidade de E/S (entrada e saída de dados), e de gerenciar arquivos;
* Computadores de grande porte também ressurgem como servidores sofisticados da Web, como servidores para sites de comércio eletrônico em larga escala e, ainda, como servidores para transações entre empresas (business – to – business);
* São orientados para processar simultaneamente muitas tarefas, e a maioria deles precisa de quantidades prodigiosas de E/S.
SISTEMAS OPERACIONAIS DE SERVIDORES
* São executados em servidores, que são computadores pessoais grandes, em estações de trabalho ou até mesmo em computadores de grande porte;
* Servem múltiplos usuários de uma vez em uma rede;
* Servidores podem fornecer serviços de impressão, de arquivo ou de Web;
* Sistemas operacionais típicos de servidores são Solaris, FreeBSD, Linux e Windows Server 200x.
SISTEMAS OPERACIONAIS DE MULTIPROCESSADORES
Os sistemas são denominados computadores paralelos, multicomputadores ou multiprocessadores , dependendo de como múltiplas CPUs estiverem conectadas e o que é compartilhado;
Um modo comum de obter potência computacional é conectando essas CPUs em um único sistema;
Muitos sistemas operacionais populares, inclusive Windows e Linux, são executados com multiprocessadores.
Computadores modernos dão suporte a multiprogramação, muitas vezes com dezenas de programas iniciados; seu trabalho é oferecer boa interface para um único usuário; são amplamente usados para processadores de texto, planilhas e acesso à Internet;
Exemplos comuns: Linux, FreeBSD, Windows Vista e o sistema operacional do Macintosh.
3.4- CONSIDERAÇÕES FINAIS
O sistema operacional é um programa ou um conjunto de programas responsável por gerenciar todos os recursos do sistema.
Tendo em vista que existem diversos sistemas operacionais, alguns até mesmo desconhecidos perante as pessoas, buscamos fundamentar o conhecimento sobre a história dos sistemas operacionais, sobre os primeiros computadores surgidos e a evolução dos mesmos de geração a geração. Vale ressaltar que existem sistemas operacionais utilizados em computadores que armazenam uma enorme quantidade de informações (mainframes); sistemas operacionais de servidores, que servem múltiplos usuários de uma vez em uma rede; sistemas operacionais de multiprocessadores, que são denominados assim dependendo de como múltiplas CPUs estiverem conectadas e o que é compartilhado; e os sistemas operacionais de computadores pessoais, onde computadores modernos dão suporte a multiprogramação, muitas vezes com dezenas de programas iniciados, oferecendo boa interface para um único usuário. Considerando os sistemas operacionais modernos com relação aos antigos, houve diversas mudanças ao longo dos anos; esses sistemas operacionais modernos permitem que múltiplos programas sejam executados ao mesmo tempo, diferentemente dos mais antigos, que permitiam apenas um por vez. O sistema Android é outro sistema operacional, que foi criado e desenvolvido pelo Google, possuindo uma grande variedade de tecnologias e roda sobre o núcleo Linux, tendo tendência a crescer nos últimos anos pelas vantagens que ele oferece.
4- REFERÊNCIAS BIBLIOGRÁFICAS
Internet: Sites:
Sistema Operativo - Disponível em:
http://pt.wikipedia.org/wiki/Sistema_operativo Entendendo o Google Android – Disponível em: http://www.hardware.com.br/artigos/google-android/
Como funciona o Android (Google Phone) – Disponível em: http://informatica.hsw.uol.com.br/google-phone.htm
O Android está poderoso demais? – Disponível em:
http://info.abril.com.br/noticias/mercado/o-android-esta-poderoso-demais-24022011-38.shl Características do Windows – Disponível em:
http://www.terra.com.br/informatica/especial/windowsxp/caracteristicas.htm Características do Unix e do Linux – Disponível em:
http://www.ppgia.pucpr.br/~laureano/puc_2007/asu/caracteristicas.html
Sistemas Operacionais para Computadores de Grande Porte; Sistemas Operacionais de Servidores; Sistemas Operacionais de Multiprocessadores; Sistemas Operacionais de Computadores Pessoais - Disponível no:
Livro: Sistemas Operacionais Modernos (3ª Edição) Editora: Pearson
Autor: Andrew S. Tanenbaum Páginas: 4, 20, 21
Exercícios
1) Qual a principal função dos sistemas operacionais com relação aos recursos? 2) Qual o nome que designaria um computador de grande porte?
3) Qual o componente dos computadores de primeira geração? 4) Qual o componente dos computadores de segunda geração? 5) Qual o componente dos computadores de terceira geração?
6) É um dos elementos básicos da arquitetura de sistema operacional. 7) É um sistema operacional móvel criado pelo Google.