9
1 Sistema Operacional - SO - Prof. Petchak Sistema Operacional - SO Todo computador precisa, além das partes físicas, de programas que façam essa parte física funcionar corretamente. Existem vários programas para várias funções, como digitar textos, desenhar, calcular, organizar, e muitos outros... Para poder utilizar os programas que têm função definida (como os citados acima), é necessário que o computador tenha um programa chamado Sistema Operacional. O SO é o primeiro programa a “acordar” no computador quando este é ligado, ou seja, quando ligamos o computador, o SO é automaticamente iniciado, fazendo com que o usuário possa dar seus comandos ao computador. Entre as atribuições do SO, estão: o reconhecimento dos comandos do usuário, o controle do processamento do computador, o gerenciamento da memória, etc. Resumindo, quem controla todos os processos do computador é o sistema operacional, sem ele o computador não funcionaria. Um sistema operacional (Operating System ) é um programa ou um conjunto de programas cuja função é gerenciar os recursos do sistema (definir qual programa recebe atenção do processador, gerenciar memória, criar um sistema de arquivos, etc.), fornecendo uma interface entre o computador e o usuário. Embora possa ser executado imediatamente após a máquina ser ligada, a maioria dos computadores pessoais de hoje o executa através de outro programa armazenado em memória não-volátil ROM (Read Only Memory - Memória Apenas de Leitura) chamado BIOS (Basic Input/Output System - Sistema Básico de Entrada/Saída) num processo chamado "bootstrapping" conceito em inglês usado para designar processos auto-sustentáveis, ou seja, capazes de prosseguirem sem ajuda externa, ou seja, é uma metáfora bastante difundida para a inicialização de sistemas. Após executar testes e iniciar os componentes da máquina (monitores, discos, etc), o BIOS procura pelo sistema operacional em alguma unidade de armazenamento, geralmente o Disco Rígido, e a partir de então, o sistema operacional "toma" o controle da máquina. O sistema operacional reveza sua execução com a de outros programas, como se estivesse vigiando, controlando e orquestrando todo o processo computacional. Segundo alguns autores (Silberschatz et al, 2005; Stallings, 2004; Tanenbaum, 1999), existem dois modos distintos de conceituar um sistema operacional: pela perspectiva do usuário ou programador (visão top-down): é uma abstração do hardware, fazendo o papel de intermediário entre o

Sistema Operacional

Embed Size (px)

DESCRIPTION

Informações sobre sistema operacional

Citation preview

1

Sistema Operacional - SO - Prof. Petchak

Sistema Operacional - SO

Todo computador precisa, além das partes físicas, de programas que façam

essa parte física funcionar corretamente. Existem vários programas para várias

funções, como digitar textos, desenhar, calcular, organizar, e muitos outros...

Para poder utilizar os programas que têm função definida (como os citados

acima), é necessário que o computador tenha um programa chamado Sistema

Operacional. O SO é o primeiro programa a “acordar” no computador quando

este é ligado, ou seja, quando ligamos o computador, o SO é automaticamente

iniciado, fazendo com que o usuário possa dar seus comandos ao computador.

Entre as atribuições do SO, estão: o reconhecimento dos comandos do

usuário, o controle do processamento do computador, o gerenciamento da

memória, etc. Resumindo, quem controla todos os processos do computador é

o sistema operacional, sem ele o computador não funcionaria.

Um sistema operacional (Operating System ) é um programa ou um conjunto

de programas cuja função é gerenciar os recursos do sistema (definir qual

programa recebe atenção do processador, gerenciar memória, criar um sistema

de arquivos, etc.), fornecendo uma interface entre o computador e o usuário.

Embora possa ser executado imediatamente após a máquina ser ligada, a

maioria dos computadores pessoais de hoje o executa através de outro

programa armazenado em memória não-volátil ROM (Read Only Memory -

Memória Apenas de Leitura) chamado BIOS (Basic Input/Output System -

Sistema Básico de Entrada/Saída) num processo chamado "bootstrapping"

conceito em inglês usado para designar processos auto-sustentáveis, ou seja,

capazes de prosseguirem sem ajuda externa, ou seja, é uma metáfora bastante

difundida para a inicialização de sistemas. Após executar testes e iniciar os

componentes da máquina (monitores, discos, etc), o BIOS procura pelo

sistema operacional em alguma unidade de armazenamento, geralmente o

Disco Rígido, e a partir de então, o sistema operacional "toma" o controle da

máquina. O sistema operacional reveza sua execução com a de outros

programas, como se estivesse vigiando, controlando e orquestrando todo o

processo computacional.

Segundo alguns autores (Silberschatz et al, 2005; Stallings, 2004; Tanenbaum,

1999), existem dois modos distintos de conceituar um sistema operacional:

pela perspectiva do usuário ou programador (visão top-down): é uma

abstração do hardware, fazendo o papel de intermediário entre o

2

Sistema Operacional - SO - Prof. Petchak

aplicativo (programa) e os componentes físicos do computador

(hardware); ou

numa visão bottom-up, de baixo para cima: é um gerenciador de

recursos, i.e., controla quais aplicações (processos) podem ser

executadas, quando, que recursos (memória, disco, periféricos) podem

ser utilizados.

O BIOS é um programa de computador pré-gravado em memória permanente

(firmware) executado por um computador quando ligado. Ele é responsável

pelo suporte básico de acesso ao hardware, bem como por iniciar a carga do

sistema operacional.

Firmware é o conjunto de instruções operacionais programadas diretamente

no hardware de um equipamento eletrônico. É armazenado permanentemente

num circuito integrado (chip) de memória de hardware, como uma ROM,

PROM, EPROM ou ainda EEPROM e memória flash, no momento da

fabricação do componente. Muitos aparelhos simples possuem firmware, entre

eles: controle-remoto, calculadora de mão, algumas partes do computador,

como disco rígido, teclado, cartão de memória, muitos instrumentos científicos

e robôs. Outros aparelhos mais complexos como celulares, câmeras digitais,

sintetizadores, eletrodomésticos como fornos de microondas ou lavadoras,

entre outros, também possuem um firmware para a execução de suas tarefas.

Não há fronteiras rígidas entre firmware e software, pois ambos são termos

descritivos bastante livres. Contudo, o termo firmware foi originalmente

inventado para contrastar com software de alto nível que poderia ser alterado

sem a troca de um componente de hardware, e o firmware está normalmente

envolvido com operações muito básicas de baixo nível das quais sem um,

dispositivo seria completamente não-funcional.

Entre outras funções o papel mais importante do BIOS é o carregamento do

sistema operacional. Quando o computador é ligado e o microprocessador

tenta executar sua primeira instrução, ele tem que obtê-la de algum lugar. Não

é possível obter essa instrução do sistema operacional, pois esse se localiza

no disco rígido, e o microprocessador não pode se comunicar com ele sem que

algumas instruções o digam como fazê-lo. É o BIOS o responsável por fornecer

essas instruções.

Sequência de funcionamento

Quando o computador é ligado, o BIOS opera na seguinte sequência:

3

Sistema Operacional - SO - Prof. Petchak

1. Verifica as informações armazenadas em uma minúscula memória RAM,

que se localiza em um chip fabricado com tecnologia CMOS. A memória

CMOS armazena informações relativas a configuração de hardware, que

podem ser alteradas de acordo as mudanças do sistema. Essas

informações são usadas pelo BIOS modificar ou complementar sua

programação padrão, conforme necessário.

2. POST (Power-On Self-Test ou Autoteste de Partida), que são os

diagnósticos e testes realizados nos componentes físicos (Disco rígido,

processador, etc). Os problemas são comunicados ao usuário por uma

combinação de sons (bipes) numa determinada seqüência e se possível,

exibidos na tela. O manual do fabricante permite a identificação do

problema descrevendo a mensagem que cada seqüência de sons

representa.

3. Ativação de outros BIOS possivelmente presentes em dispositivos

instalados no computador (ex. discos SCSI e placas de vídeo).

4. Descompactação para a memória principal. Os dados, armazenados

numa forma compactada, são transferidos para a memória, e só aí

descompactados. Isso é feito para evitar a perda de tempo na transferência

dos dados.

5. Leitura dos dispositivos de armazenamento, cujos detalhes e ordem de

inicialização são armazenados na CMOS. Se há um sistema operacional

instalado no dispositivo, em seu primeiro sector (o Master Boot Record)

estão as informações necessárias para o BIOS encontrá-la (este sector não

deve exceder 512 bytes).

Existem pequenos trechos de softwares chamados de Manipuladores de

Interrupção que atuam como tradutores entre os componentes de hardware e o

sistema operacional. Um exemplo dessa tradução é quando é pressionada uma

tecla no teclado, o evento associado ao sinal é enviado para o manipulador de

interrupção do teclado que é enviado a CPU que trata e envia esse evento para

o sistema operacional. Os drivers de dispositivos são outros trechos de

software que identificam e atuam como interface entre os componentes básicos

de hardware como o teclado, mouse, disco rígido.

Ao ligar o computador, o primeiro software que você vê a ser lido é o do BIOS.

Durante a seqüência de inicialização (boot), o BIOS faz uma grande quantidade

de operações para deixar o computador pronto a ser usado. Depois de verificar

a configuração na CMOS e carregar os manipuladores de interrupção, o BIOS

4

Sistema Operacional - SO - Prof. Petchak

determina se a placa gráfica está operacional. Em seguida, o BIOS verifica se

trata de uma primeira inicialização(cold boot) ou de uma reinicialização

(reboot). Esta verifica as portas PS/2 ou portas USB à procura de um teclado

ou um rato (mouse). Procura igualmente por um barramento PCI (Peripheral

Component Interconnect) e, caso encontre algum, verifica todas as placas PCI

instaladas. Se o BIOS encontrar algum erro durante o início (POST), haverá

uma notificação ao utilizador em forma de bipes e mensagens.

Após tudo isto são apresentados detalhes sobre o sistema:

Processador

Unidades (drives) de disco flexível e disco rígido

Memória

Versão e data do BIOS

Na época do MS-DOS o BIOS atendia praticamente a todas as chamadas de

entrada e saída E/S ou I/O (Input/Output) da máquina, atualmente a conexão é

feita através da instalação de drivers e é por meio desses drivers que os

sistemas operacionais tem contato direto com os hardwares.

Na maioria dos BIOS é possível especificar em qual ordem os dispositivos de

armazenamento devem ser carregados. Desta forma é possível, por exemplo,

carregar uma distribuição do sistema operacional Linux que funciona

diretamente do CD antes do sistema operacional instalado no HD

(especificando que o CD deve ser verificado antes do HD).

Alguns BIOS também permitem a escolha entre diversos sistemas operacionais

instalados, mas isto geralmente é feito com um software de terceiros (boot

loader).

Na maioria das placas-mãe modernas o BIOS pode ser atualizado, e os

fabricantes disponibilizam arquivos para essa finalidade. A atualização pode

resolver problemas de funcionamento de periféricos, ou mesmo erros da

versão anterior do BIOS. A atualização altera três programas que estão dentro

da memória ROM (BIOS, POST, Setup) e é uma operação de risco e requer

muito cuidado para não haver danos na placa-mãe.

Há vários problemas que podem acontecer nas atualizações, alguns deles são:

arquivos corrompidos, falta de informações para a solicitação do software

correto, ou ainda a falta de energia elétrica. Se ocorrer algum problema o

sistema poderá não iniciar, deixando a placa-mãe muitas vezes inoperante.

5

Sistema Operacional - SO - Prof. Petchak

A atualização ou o upgrade do chip somente deve ser feito quando for

realmente necessário.

Os principais fabricantes deste firmware são: American Megatrends (AMI),

Award, General Software, Insyde Software, e Phoenix Technologies.

História

Na primeira geração (aproximadamente 1945-1955), os computadores eram

tão grandes que ocupavam salas imensas. Foram basicamente construídos

com válvulas e painéis, os sistemas operacionais "não existiam". Os

programadores, que também eram os operadores, controlavam o computador

por meio de chaves, fios e luzes de aviso. Nomes como Howard Aiken

(Harvard), John von Neumann (Instituto de Estudos Avançados de Princeton),

John Adam Presper Eckert Jr e William Mauchley (Universidade da

Pennsylvania) e Konrad Zuse (Alemanha) formaram, com suas contribuições, a

base humana para o sucesso na construção dos computadores primitivos. Na

geração seguinte (aproximadamente 1955-1965), foram criados os sistemas

em lote (batch systems), que permitiram melhor uso dos recursos

computacionais. A base do sistema operacional era um programa monitor,

usado para enfileirar tarefas (jobs). O usuário foi afastado do computador; cada

programa era escrito em cartões perfurados, que por sua vez eram carregados,

juntamente com o respectivo compilador (normalmente Fortran ou Cobol), por

um operador, que por sua vez usava uma linguagem de controle chamada JCL

(job control language).

No início da computação os primeiros sistemas operacionais eram únicos, pois

cada mainframe vendido necessitava de um sistema operacional específico.

Esse problema era resultado de arquiteturas diferentes e da linguagem de

máquina utilizada. Após essa fase, iniciou-se 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,

assim, o trabalho de pessoas que eram contratadas apenas para trocar os

cartões perfurados).

Um dos primeiros sistemas operacionais de propósito geral foi o CTSS,

desenvolvido no MIT. Após o CTSS, o MIT, os laboratórios Bell da AT&T e a

General Eletric desenvolveram o Multics, cujo objetivo era suportar centenas de

usuários. Apesar do fracasso comercial, o Multics serviu como base para o

estudo e desenvolvimento de sistemas operacionais. Um dos desenvolvedores

do Multics, que trabalhava para a Bell, Ken Thompson, começou a reescrever o

Multics num conceito menos ambicioso, criando o Unics (em 1969), que mais

6

Sistema Operacional - SO - Prof. Petchak

tarde passou a chamar-se Unix. Os sistemas operacionais eram geralmente

programandos em assembly, até mesmo o Unix em seu início. Então, Dennis

Ritchie (também da Bell) criou a linguagem C a partir da linguagem B, que

havia sido criada por Thompson. Finalmente, Thompson e Ritchie

reescreveram o Unix em C. O Unix criou um ecossistema de versões, onde

destacam-se: System V e derivados (HP-UX, AIX); família BSD (FreeBSD,

NetBSD, OpenBSD, etc.), Linux e até o Mac OS X (que deriva do Mach e

FreeBSD).

Na década de 1970, quando começaram a aparecer os computadores

pessoais, houve a necessidade de um sistema operacional de utilização mais

fácil. 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, batizam-no de DOS (Disk

Operating System) e vendem 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 fariam, ainda, uma parceria para o

desenvolvimento de um sistema operacional multitarefa chamado OS/2. Após o

fim da breve parceria a IBM seguiu sozinha no desenvolvimento do OS/2.

No começo da década de 1990, um estudante de computação finlandês postou

um comentário numa lista de discussão da Usenet dizendo que estava

desenvolvendo um núcleo de sistema operacional e perguntou se alguém

gostaria de auxiliá-lo na tarefa. Este estudante chamava-se Linus Torvalds e o

primeiro passo em direção ao tão conhecido Linux foi dado naquele momento.

Linux é o termo geralmente usado para designar qualquer sistema operacional

utilize o núcleo Linux. Foi desenvolvido pelo finlandês Linus Torvalds, inspirado

no sistema Minix. O seu código fonte está disponível sob licença GPL (General

Public License Licença Pública Geral), para qualquer pessoa que utilizar,

estudar, modificar e distribuir de acordo com os termos da licença.

Inicialmente desenvolvido e utilizado por grupos de entusiastas em

computadores pessoais, o sistema Linux passou a ter a colaboração de

grandes empresas, como a IBM, Sun Microsystems, Hewlett-Packard (HP),

Red Hat, Novell, Oracle, Google, Mandriva e a Canonical.

Curiosamente, o nome Linux foi criado por Ari Lemmke, administrador do site

ftp.funet.fi que deu esse nome ao diretório FTP onde o núcleo Linux estava

inicialmente disponível. (Linus tinha-o baptizado como "Freax", inicialmente).

7

Sistema Operacional - SO - Prof. Petchak

Os sistemas operacionais mais utilizados no mundo

Windows Microsoft - Windows 7 - 88.90% - 400 Milhões.

Mac OS x Apple - Mac OS x v10.7"Lion"- 5.54% - 22,5 Milhões.

Linux - Linux Foundation - Linux Kernel 3.0.4 - 2,13% - 8,5 Milhões.

Existem vários sistemas operativos; entre eles, os mais utilizados no dia a dia,

normalmente utilizados em computadores domésticos, são o Windows, Linux e

Mac OS X.

O OS/360 foi colocado na estrutura principal de todos os computadores IBM no

início de 1964, incluindo os computadores que ajudaram a NASA a colocar o

homem na lua.

Um computador com o sistema operativo instalado poderá não dar acesso a

todo o seu conteúdo dependendo do utilizador. Com um sistema operativo,

podemos estabelecer permissões a vários utilizadores que trabalham com este.

Existem dois tipos de contas que podem ser criadas num sistema operativo, as

contas de Administrador e as contas limitadas. A conta Administrador é uma

conta que oferece todo o acesso à máquina, desde a gestão de pastas,

ficheiros e software de trabalho ou entretenimento ao controlo de todo o seu

Hardware instalado. A conta Limitada é uma conta que não tem permissões

para aceder a algumas pastas ou instalar software que seja instalado na raiz do

sistema ou então que tenha ligação com algum Hardware que altere o seu

funcionamento normal ou personalizado pelo Administrador. Para que este tipo

de conta possa ter acesso a outros conteúdos do disco ou de software, o

administrador poderá personalizar a conta oferecendo permissões a algumas

funções do sistema como também poderá retirar acessos a certas áreas do

sistema.

O sistema operativo funciona com a iniciação de processos que este irá

precisar para funcionar corretamente. Esses processos poderão ser ficheiros

que necessitam de ser frequentemente actualizados, ou ficheiros que

processam dados úteis para o sistema. Poderemos ter acesso a vários

processos do sistema operativo a partir do gestor de tarefas, onde se

encontram todos os processos que estão em funcionamento desde o arranque

do sistema operativo até a sua utilização actual. Pode-se também visualizar a

utilização da memória por cada processo, no caso de o sistema operativo

começar a mostrar erros ou falhas de acesso a programas tornando-se lento,

pode-se verificar no gestor de tarefas qual dos processos estará bloqueado ou

8

Sistema Operacional - SO - Prof. Petchak

com elevado número de processamento que está a afectar o funcionamento

normal da memória.

SO Modernos

Um sistema computacional moderno consiste em um ou mais processadores,

memória principal, discos, impressoras, teclado, mouse, monitor, interfaces de

rede e outros dispositivos de entrada e saída. Enfim, é um sistema complexo.

Um dos conceitos mais fundamentais dos Sistemas Operacionais Modernos é

a distinção entre o programa e a atividade de executá-lo. O programa é apenas

um conjunto estático de diretrizes e sua execução é uma atividade dinâmica.

Outra das diferenças que podemos observar entre um sistema operacional e

aplicações convencionais é a forma com que suas rotinas são processadas em

função do tempo. Um sistema operacional não é executado de forma

estruturada. Suas rotinas são executadas concorrentemente em função de

eventos assíncronos. Em outras palavras, eventos que podem ocorrer a

qualquer momento.

Um sistema operacional possui as seguintes funções:

1. gerenciamento de processos;

2. gerenciamento de memória;

3. sistema de arquivos;

4. entrada e saída de dados.

Sistemas Operacionais ativos

Para desktop

CentOS

Debian

DragonflyBSD

eComStation

Fedora

FreeBSD

FreeDOS

Gentoo

Haiku

Inferno

Linux Mint

9

Sistema Operacional - SO - Prof. Petchak

Mac OS X

Mandriva Linux

MenuetOS

Microsoft Windows

MINIX

NetBSD

OpenBSD

OpenSuSE

PCLinuxOS

ReactOS

Slackware

Solaris

Unix System V

Ubuntu

Para dispositivos móveis (tablets e smartphones)

Android

Blackberry OS

iOS

Maemo

MeeGo

Symbian

WebOS

Windows Mobile

PalmOS