Upload
andersonpetchak
View
7
Download
1
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