You are on page 1of 18

FUNDAO VISCONDE DE CAIRU

CURSO ANLISE E DESENVOLVIMENTO DE SISTEMAS

ADENILTON FERREIRA
FLAVIA COSTA
IVAN DE JESUS
JULY CUMMING
LEVI LUCIO

RESUMO DO CAPITULO 1 DO LIVRO SISTEMAS OPERACIONAIS


MODERNOS.

SALVADOR
2014

ADENILTON FERREIRA
FLAVIA COSTA
IVAN DE JEUS
JULY CUMMING
LEVI LUCIO

Resumo do capitulo 1 do livro Sistemas


Operacionais

Modernos

apresentado

no

curso

ano
de

de

2014,

graduao

tecnolgica na Fundao Visconde de Cairu,


como

nota

Operacionais

parcial
do

da

Curso

matria

Sistema

Tecnolgico

Anlise e Desenvolvimento de Sistemas.


rea da Tecnologia de Informao.

SALVADOR
2014

em

Captulo 1
Introduo
Um sistema computacional moderno consiste em um ou mais
processadores, memria principal, discos, impressoras, interface de rede,
dispositivo de entrada e sada, mouse, monitor, teclado. Os computadores tem
um dispositivo de software denominado Sistema Operacional, que fornece aos
programas do usurio um modelo de computador melhor, mais simples e limpo.
O programa com o qual os usurios interagem chamados de Shell
(Interpretador de Comando) quando for para textos, e GUI (Interface Grfica do
Usurio) quando usa cones, quando usar cones e so os mais inferiores dos
softwares de modo usurio.
O Sistema Operacional opera em modo ncleo, tambm chamado de
modo supervisor, nesse modo ele tem acesso a todos os hardwares e pode
executar qualquer instruo que a maquina seja capaz de executar. O resto
dos softwares opera em modo usurio, no qual apenas um subconjunto de
instrues da maquina est disponvel.
1.1

O que um sistema operacional?

difcil definir o que um sistema operacional alm de dizer que


software que executa em modo ncleo e mesmo isso nem sempre verdade.
Parte do problema ocorre porque os sistemas operacionais realizam
basicamente duas funes no relacionadas: fornecer aos programadores de
aplicativos um conjunto de recursos mais claros em vez de recursos confusos
de hardware. Dependendo do tipo de usurio, ele vai lidar mais com uma
funo ou com outra.
1.1.1

O sistema operacional como uma mquina estendida

A arquitetura (conjunto de instrues, organizao de memria, E/S e


estrutura de barramento) da maioria dos computadores em nvel de linguagem
de mquina primitiva e de difcil programao, especialmente a
entrada/sada.
Os comandos mais bsicos so read e write; cada um deles requer 13
parmetros agrupados em 9 bytes. Esses parmetros especificam itens como o
endereo do bloco de dados a ser lido, o nmero de setores por trilha, o modo
de gravao usado no meio fsico. Quando uma operao completada, o chip
controlador retorna 23 campos de status e de erros agrupados em 7 bytes.
Como se isso no bastasse, o programador da unidade de discos flexveis
ainda deve saber se o motor est ligado ou no. Se estiver desligado, ele
dever ser ligado (com um longo atraso de inicializao) antes que os dados
possam ser lidos ou escritos. O motor no pode permanecer ligado por muito

tempo, seno o disco flexvel poder sofrer desgaste. O programador , ento,


forado a equilibrar dois fatores: longos atrasos de inicializao versus
desgastes do disco flexvel (e a perda dos dados nele gravados).
Abstrao o elemento-chave para gerenciar complexidade. Boas
abstraes transformam uma tarefa quase impossvel em duas manejveis. A
primeira delas definir e implementar as abstraes. A segunda usar essas
abstraes para resolver o problema mo. Uma abstrao que quase todo
usurio de computao entende o arquivo. Ele um fragmento de informao
til, como uma foto digital, uma mensagem de email salva ou uma pgina da
Web. Lidar com fotos, e-mails e pginas da Web mais fcil do que manipular
detalhes de tarefa do sistema operacional criar boas atraes e, em seguida,
implementar e gerenciar os objetos abstratos criados.
1.1.2

O sistema operacional como um gerenciador de recursos

O conceito de um sistema operacional como provedor de uma interface


conveniente a seus usurios uma viso Top-Down (abstrao do todo para as
partes). Em uma viso alternativa, Bottom-Up (abstrao das partes para o
todo), o sistema operacional gerencia todas as partes de um sistema complexo.
Computadores modernos so constitudos de processadores, memrias,
temporizadores, discos, dispositivos apontadores tipo mouse, interfaces de
rede, impressoras e uma ampla variedade de outros dispositivos. Segundo
essa viso, o trabalho do sistema operacional fornecer uma alocao
ordenada e controlada de processadores, memrias e dispositivos de E/S entre
vrios programas que competem por eles. Sistemas operacionais modernos
permitem que mltiplos programas sejam executados ao mesmo tempo.
Quando um computador (ou uma rede) tem mltiplos usurios, a
necessidade de gerenciar e proteger a memria, dispositivos de E/S e outros
recursos muito maior, j que, de outra maneira, os usurios poderiam
interferir uns nos outros. Alm disso, os usurios muitas vezes precisam
compartilhar no somente hardware, mas tambm informao (arquivos,
bancos de dados etc.). Em resumo, essa viso do sistema operacional mostra
que sua tarefa principal manter o controle sobre quem est usando qual
recurso, garantindo suas requisies de recursos, controlando as contas e
mediando conflitos de requisies entre diferentes programas e usurios.
O gerenciamento de recursos realiza o compartilhamento (ou
multiplexao) desses recursos de duas maneiras diferentes: no tempo e no
espao. Quando um recurso compartilhado (multiplexado) no tempo,
diferentes programas ou usurios aguardam sua vez de us-lo.
Outro tipo de compartilhamento o de espao. Em lugar de
consumidores esperando sua vez, cada um ocupa uma parte do recurso. Por
exemplo, a memria principal normalmente dividida entre vrios programas

em execuo. Assim, cada um pode residir ao mesmo tempo na memria (por


exemplo, a fim de ocupar a CPU temporariamente). Alocar espao em disco e
manter o controle sobre quem est usando quais parcelas do disco uma
tpica tarefa de gerenciamento de recursos do sistema operacional.
1.2 Histria do sistema operacional.
O sistema operacional vem de uma grande evoluo, passando por
varias verses de atualizaes e inovaes sendo bastante ligada a arquitetura
de computadores sobre a qual eles so executados. O primeiro computador
digital foi criado pelo matemtico ingls Charles Babbage(1792-1871), a maior
parte da vida de Babbage foi na construo de uma maquina analitica ,porm
essa criano no possuia sistema operacional,com sua inteligncia ele
percebeu que sua criao precisaria de um softaware,para tanto, teve que
contratar uma moa chamada de Ada Lovelace,filha do ingls famoso Lord
Byron e essa jovem foi a primeira programadora do mundo, assim a liguagem
de programao criada Ada@ foi denominada em sua homenagem.
1.2.1 A primeira gerao(1945-1955) vlvulas.
Depois de varias tentativas de Babbage muitas sem sucessos para a
criao de computadores digitais at a Segunda Guerra Mundial, estimulou
sucesses de atividades com isso o professor Jonh Atanasoff e seu aluno
Clifford Berry conseguiram construir o primeiro computador digital em
funcionamento na faculdade no Estado de Iowa,eles utilizaram 300 vlvulas.
Com essa primeira construo ocorreram varias outras criaes,no mesmo ano
da primeira criao houve o Z3 de rels em Berlim,em 1944 o colossus na
Inglaterra,o Mark e o Eniac na Pensilvnia. Algumas dessas criaes eram
binrias,outras com vlvulas,outras eram programveis,porm, todas essas
mquinas eram bem primitivos e levavam segundos para efetuar clculos bem
simples.
No mesmo periodo que existiam pessoas que criaram as mquinas tinha
pessoas para programar,operar e realizar as manutenes da mquinas.Sendo
que toda programao feita era em cdigo absoluto das mquinas ou muitas
vezes eram conectados plugs em paineis para conseguir visualizar as funes
bsicas da mquina,nessa poca ainda no existia a linguagem de
programao nem o sistema operacional.Os programadores trabalhavam da
seguinte maneira, eles reservava antecipadamente tempo para as mquinas
em planilha se dirigiam para a sala da mquina inseria seu papel de
programao no computador e ficava esperando algumas horas para que
nenhuma vlvula queimasse e interrompesse o servio,todo esse servio era
minucioso.Com o tempo essa programao foi sendo aprimorada at que no
ano de 1950 foi criada a perfuradora de cartes,onde colocava os programas
nos cartes e era possivel ler esses cartes.

1.2.2 Segunda gerao(1955-1965) transistores e sistemas em lote(batch).


Na dcada de 1950 houve a introduo do transistor se tornou o responsvel
pela amplificao de sinal, alm de servir como um controlador que interrompe
ou libera a passagem de corrente eltrica, com isso houve a confiabilidade em
ser fabricados e comercializados com a expectativa de funcionar por tempo
suficiente para execuo de alguns trabalhos, portanto, surgiu a separao de
projetista, fabricantes, programadores e tcnicos da manuteno cada um
exercendo sua profisso.
Foi assim que surgiu o computador de grande porte o (mainframes),
ficavam em salas isoladas com ar condicionado apenas sendo executado por
profissionais, sendo um servio caro que s empresas de grandes portes
poderiam pagar para obter o servio desses computadores. As tarefas ou
programaes solicitadas por essas empresas eram feitas pelos
programadores primeiro era colocado no papel depois perfurava nos cartes
que eram colocados na sala dos computadores por profissional e apenas
aguardava do lado de fora o resultado na impressora de sada. Devido ao alto
custo do equipamento e o desperdcio no tempo do manuseio das maquinas
foram pensados maneiras para aprimorar isso, chegando ao sistema em lote
(batch).
A ideia era gravar varias tarefas em uma fita magntica utilizando um
computador mais barato como o da empresa IBM 1401, que sua funo era
para ler cartes, fitas magnticas e imprimir as sadas, porm, no era
apropriado para efetuar clculos, cada maquina tinha sua funo apropriada.
Aps adquiri esse computador da IBM foi observado uma reduo no manuseio
das maquinas de grande porte e a leitura dos cartes era gravada em fitas
magnticas, porm essa maquina 1401 no era conectada aos computadores
de grande porte. Os grandes computadores da segunda gerao foram usados
em sua maioria para clculos especficos de modo geral e sua linguagem eram
assembly.
1.2.3 A terceira gerao (1965-1980) CIs e multiprogramao.
No ano de 1960 os fabricantes comearam a fabricar dois tipos de
computadores 7094 um cientifico de grande escala orientados a palavras
usadas para clculos numricos na cincia e na engenharia e o outro
computador 1401 comercial voltado para caracteres, como banco e companhia
de seguros para a ordenao e impresso em fitas. Para os fabricantes fabricar
esses computadores demandava muito custo, alm disso, os clientes sempre
desejavam criao nova e com maior rapidez, portanto, a IBM criou seu mais
novo produto system/360. Essa mais nova criao foi uma serie de maquinas
em uma s voltado tanto para a clculos e para leitura de cartes, software
compatvel, para isso havia diferena de valores por causa da quantidade de
memria, velocidade do processador, nmeros de E/S permitidos dentre outros.

Com tanta criao a empresa IBM ao passar dos anos comeou a criar
computadores com tecnologias mais modernas.
O computador 360 da IBM foi o primeiro a usar circuitos integrados (CIs)
em pequena escala, proporcionando melhor custo-benefcio em comparao
das maquinas com transistores individuais, o 360 serve para gerenciar imensos
bancos de dados surgindo assim o sistema operacional OS/ 360.
Para a resoluo de vrios problemas relacionada aos sistemas
operacionais foi criada a tcnica da multiprogramao, essa tcnica foi criada
para evitar a ociosidade de alguns componentes do computador quando os
servios estavam sendo executados. Essa nova tcnica chegou para poder
dividir a memoria em varias partes, com a tarefa diferente para cada partio,
quando uma esperava que a operao E/S se completasse a outra poderia j
usar a CPU. Outra importante funo do sistema operacional era transferir uma
tarefa para outra, quando o servio fosse completado poderia executar uma
nova tarefa essa tcnica conhecida como Spooling (Simultaneous
Peripheral Operation Online) usada para sistema operacional da terceira
gerao.
Com o sistema operacional da terceira gerao o intervalo de tempo de
submeter uma tarefa e obter uma sada era de muitas horas, assim, uma nica
vrgula colocada em um lugar errado poderia causar um erro de compilao, e
o programador gastaria metade do tempo para reparar. Para tanto veio o tempo
compartilhado ou times harling vantagem da multiprogramao onde cada
usurio se conectava por meio de um terminal on-line, o primeiro sistema do
tempo compartilhado foi CTSS (Compatibile Time Sharing System) criado em
MIT no 7094 modificado, Bell Labs e General Electric ( grandes fabricantes de
computadores).
O projetista MIT foi o criador desse sistema Multics (Servio De
Computao E Informao Multiplexada) foi projetado para suportar
centenas de usurios em uma nica maquina, tendo assim mais capacidade de
E/S, ocorreu varias razes para a MULTICS no dominasse o mundo, uma
delas era sua codificao em PL/I, esse compilador chegou com anos de
atraso e quando chegou dificilmente funcionava.
Na terceira gerao tambm houve a criao de minicomputadores, o
cientista Ken Thompson da computao de Bell Labs que trabalhava no projeto
MULTICS, achou um pequeno minicomputador que ningum usava mais e
aproveitou para escrever uma verso despojada e monousurios do MULTICS.
Esse trabalho desenvolveu-se e deu origem ao sistema operacional UNIX, que
se tornou muito popular no mundo acadmico, em agencias governamentais e
grandes empresas. Para tornar possvel escrever programas que pudesse ser
executados em qualquer sistema UNIX , O IEEE desenvolveu um padro para
o UNIX denominado POSIX(portable operating system), interface porttil

para sistemas operacionais, ao qual a maioria das verses UNIX agora d


suporte. Sendo assim, lanou-se um mini clone do UNIX que foi o MINIX, com
o objetivo educacional, bastante similar ao UNIX e com suporte ao POSIX.
Com isso ocorreu a evoluo para o MINIX 3 com capacidade de deletar e
substituir mdulos defeituosos ou danificados.
Com uma vontade de criar uma verso gratuita do MINIX, o estudante
finlands Linus Torvalds criou o sistema operacional LINUX, porm, possui
muitas partes do MINIX e do UNIX.
1.2.4 Quarta gerao (1980 Presente) Computadores Pessoais.
Os computadores pessoais, conhecido como microcomputadores,
surgiram com o surgimento de circuitos integrados em larga escala (LSI), que
so chips contendo milhares de transistores em um centmetro quadrado de
silcio.
A Intel criou o primeiro microcomputador com a CPU de 8 bits, no
entanto a IBM nos anos de 1980 projetou o IBM/PC e buscou um software para
ser executado nele, foi assim que entrou em contato com Bill Gates para
licenciar seu interpretador BASIC, sendo assim Gates conhecia uma empresa
que criava sistema operacional e indicou a IBM o sistema operacional DOS
(Disk Operating System) sistema operacional de disco e ficou conhecida
como Bill Gates era da Microsoft MS/DOS. Foi tambm criada uma interface
grfica voltada para os usurios como janelas, cones, menus, assim chamada
de GUI.
Steve Jobs, com sua primeira criao usando interface GUI inventou
LISA, porm, no foi bem sucedido e com sua segunda tentativa criou o
APPLE MACINTOSH, que foi um enorme sucesso no por causa do custo
menor que o LISA, porm , por ser mais amigvel para o entendimento dos
usurios. Aps isso comeou a surgir as verses do Windows separado do MSDOS da IBM, o primeiro foi criado pela Microsoft foi o Windows 95, um pouco
modificado criou o 98 que ainda tinha uma grande quantidade de linguagem
assembly de 16 bits da Intel, depois veio o Windows NT compatvel com o
95,porm possua 32 bits, essa verso foi conhecida como Windows 2000 no
ano de 1999, contudo a Microsoft evolui a verso 98 para Windows Me e uma
verso mais atualizada do 2000 foi chamado de Windows XP teve uma
durao maior de 6 anos substituindo todas as verses anteriores. Em 2007
lanou o Windows Vista.
1.4 O zoolgico de sistemas operacionais.
1.4.1 Sistemas operacionais de computadores de grande porte
Os computadores de grande porte distinguem-se dos computadores
pessoais em termos de capacidade de E/S e esto ressurgindo como

sofisticados servidores para sites de comrcio eletrnico em larga escala e,


ainda, como servidores para transaes entre empresas. Esses sistemas
operacionais para computadores de grande porte, normalmente oferece trs
tipos de servios: em lote (batch) que processa tarefas de rotinha sem a
presena interativa do usurio, processamento de transaes que administram
grandes quantidades de pequenas requisies e tempo compartilhado que
permite mltiplos usurios remotos executem suas tarefas simultaneamente no
computador, como na realizao de consultas a um grande banco de dados.
Os sistemas operacionais de computadores de grande porte esto sendo
gradualmente substitudos por variantes do UNIX, como o Linux.
1.4.2 Sistemas operacionais de servidores
Estes sistemas so executados em servidores, que so computadores
pessoais muito grandes, em estaes de trabalho ou ate mesmo em
computadores de grande porte. Eles servem mltiplos usurios de uma vez em
uma rede e permitem-lhes compartilhar recursos hardwares e de software.
Servidores podem fornecer servios de impresso, de arquivo ou de web.
Provedores de acesso internet utilizam varias maquinas servidoras para dar
suporte a seus clientes e sites da web usam servidores para armazenar
paginas e tratar requisies que chegam.
1.4.3 Sistemas operacionais de multiprocessadores
Multicomputadores ou multiprocessadores precisam de sistemas
operacionais especiais, mas muitos deles so variaes dos sistemas
operacionais de servidores, com aspectos especiais de comunicao,
conectividade e compatibilidade. Os chips multincleo para computadores
pessoais so multiprocessadores de pequena escala. Muitos sistemas
populares,
inclusive
Windows
e
Linux,
so
executados
com
multiprocessadores.
1.4.4 Sistemas operacionais de computadores pessoais
Os computadores modernos do suporte a multiprogramao. Seus
trabalhos oferece uma interface para um nico usurio. So amplamente para
processar um texto, planilhas e acesso internet.
1.4.5 Sistemas operacionais de computadores portteis
Um computador porttil um pequeno computador que cabe no bolso de
uma camisa e executa um numero pequeno de funes, como agenda de
endereos e bloco de anotaes.
Um exemplo disso so os celulares que se fundiram, diferindo
principalmente em tamanho, peso e interface com o usurio. Quase todos eles
so baseados em CPUs de 32 bits com modo protegido e executam um

sistema operacional sofisticado. Uma diferena importante entre portteis e


PCs que os primeiros no tm discos rgidos multigigabyte, o que faz muita
diferena. Dois dos sistemas operacionais para portteis mais populares so
Symbiam OS e Palm OS.
1.4.6 Sistemas operacionais embarcados
Sistemas embarcados so executados em computadores que controlam
dispositivos que geralmente no so considerados computadores e que no
aceitam softwares instalados por usurios.
1.4.7 Sistemas operacionais de ns sensores (Sensor Node)
Ns de sensores so computadores minsculos que se comunicam
entre si e com estao-base usando comunicao sem fio. Essas redes de
sensores so utilizadas para proteger os permetros de prdios, guardar
fronteiras nacionais, detectar incndios em florestas, medir temperatura e
nveis de precipitao para previso do tempo, colher informaes sobre
movimentos dos inimigos em campos de batalha. Eles tm energia limitada e
devem funcionar por longos perodos de tempo, sozinhos ao ar livre,
frequentemente em condies ambientais severas.
Cada n sensor um verdadeiro computador, com CPU, RAM, ROM e
um ou mais sensores ambientais. Executa um sistema operacional prprio,
normalmente dirigido por eventos, reagindo a eventos externos ou obtendo
medidas periodicamente com base em um relgio interno. Os ns tm RAM
pequena e a durao da bateria uma questo importante, por isso todos os
programas so carregados antecipadamente.
1.4.8 Sistema operacional de tempo real
Computadores de tempo coletam dados sobre o processo de produo e
usa-los para controlar as mquinas em fabricas. As aes precisam
necessariamente ocorrer em determinados instantes (ou em um determinado
intervalo de tempo), tem-se ento um sistema de tempo real crtico que so
encontrados em processos industriais, avinica, exrcito e reas de aplicao
semelhantes.
O sistema de tempo real no critico, que tambm um sistema de
tempo real, descumpre o prazo de determinado e so utilizados em sistemas
de udio digital ou multimdia, telefone digitais pertencem a essa categoria. O
cumprimento de prazo crucial em sistemas de tempo real, os sistemas
embarcados e de tempo real executam apenas softwares colocados pelos
projetistas dos sistemas, os usurios no podem acrescentar seus prprios
softwares, o que facilita a proteo.
1.4.9 Sistemas operacionais de cartes inteligentes (Smart Cards)

So dispositivos do tamanho do carto de crdito que contem um chip


de CPU. Alguns cartes inteligentes so orientados a Java. Significa que a
ROM no carto inteligente contm um interpretador para a mquina virtual Java
(JVM). Alguns desses cartes podem tratar mltiplas applets Java ao mesmo
tempo.
1.5 Conceitos sobre Sistemas Operacionais.
A maioria dos sistemas operacionais fornece certos conceitos e
abstraes bsicos, como processos, espaos de endereamento e arquivos,
que so fundamentais para entend-los.
1.5.1 Processos.
um programa em execuo, associado a cada processo est seu
espao de endereamento, uma lista de posies de memria que esse
processo pode ler e escrever. O espao de endereamento contm o programa
executvel, os dados do programa e sua pilha. Tambm associado a cada
processo est um conjunto de recursos, normalmente incluindo registradores
(que incluem o contador de programa e o ponteiro para a pilha), uma lista dos
arquivos abertos, alarmes pendentes, listas de processos relacionados e todas
as demais informaes necessrias para executar um programa.
Um processo fundamentalmente um continer que armazena todas as
informaes necessrias para executar um programa. O modo mais fcil de
entender um processo pensar em sistemas de multiprogramao. Um
processo pode ter, ao mesmo tempo, vrios arquivos abertos para leitura.
Existe um ponteiro, associado a cada um desses arquivos, que indica a
posio atual (o nmero do prximo byte ou registro a ser lido). Quando um
processo suspenso temporariamente, todos esses ponteiros devem ser
salvos de forma que uma chamada read, executada aps o reincio desse
processo, possa ler os dados corretamente.
Tabelas de processo: as informaes relativas a um processo so
armazenadas na tabela de processos, que uma tabela dos sistemas
operacionais, um arranjo (ou uma lista encadeada) de estruturas, uma para
cada processo existente. Um processo (suspenso) constitudo de seu espao
de endereamento, normalmente chamado de imagem do ncleo e de sua
entrada na tabela de processos, a qual armazena o contedo de seus
registradores, entre outros itens necessrios para reiniciar o processo mais
tarde.
As principais chamadas de sistemas de gerenciamento de processos
so aquelas que lidam com a criao e o trmino de processos. Chamadas de
sistemas so necessrias para criar, remover, ler e escrever arquivos. Um
exemplo o interpretador de comandos ou shell, o usurio digita um comando
pedindo que um programa seja compilado, o shell cria um novo processo, que
executar o compilador. Quando esse processo tiver terminado a compilao
ele executa uma chamada de sistema para se autofinalizar.

1.5.2 Espaos de endereamento.


Normalmente cada processo tem um conjunto de endereos que pode
utilizar geralmente indo de 0 at alguma quantidade mxima. No caso mais
simples, a quantidade mxima de espao de endereamento que um processo
tem menor que a memria principal. Assim, um processo pode preencher
todo seu espao de endereamento e haver espao suficiente na memria
para armazen-lo completamente. Se um processo tiver maior espao de
endereamento que a memria principal do computador e o processo quiser
utiliz-lo completamente basta usar a tcnica chamada memria virtual, o
sistema operacional mantm parte do espao de endereamento na memria
principal e parte no disco, trocando os pedaos entre eles conforme a
necessidade.
1.5.3 Arquivos
Antes que um arquivo possa ser lido, ele deve ser localizado no disco,
aberto e depois, ser fechado. As chamadas de sistemas so fornecidas para
fazer essas tarefas. Para ter um local para guardar os arquivos, a maioria dos
sistemas operacionais fornece o conceito de diretrio. So necessrias
chamadas de sistema para criar e remover diretrios, para colocar um arquivo
em um diretrio e remov-lo de l.
Hierarquias de processos e de arquivos so organizadas como rvores.
Hierarquias de processo no so muito profundas (no comum mais de trs
nveis), j hierarquia de arquivos em geral so mais profundas, quatro a cinco
nveis ou mais de profundidade. Hierarquia de processos tem pouco tempo de
vida, no mximo alguns minutos, j de diretrios podem existir por anos. Cada
arquivo dentro da hierarquia de diretrios pode ser especificado fornecendo-se
o caminho (Path Name) a partir do topo da hierarquia de diretrios, o diretrio
raiz. Esses caminhos formam uma lista de diretrios que deve ser percorrida a
partir do diretrio raiz para chegar at o arquivo, com barras(\) separando os
componentes.
Os arquivos especiais permitem que dispositivos de E/S paream-se
com arquivos, assim, eles podem ser lidos e escritos com a mesma chamada
de sistemas usadas para ler e escrever arquivos existem dois tipos arquivos
especiais de bloco e arquivos especiais de caracteres. Os arquivos especiais
de bloco so usados para modelar dispositivos que formam uma coleo de
blocos aleatoriamente endereveis, como discos. Os arquivos especiais de
caracteres so usados para modelar impressoras, modens e outros dispositivos
que recebem ou enviam caracteres serialmente. Um arquivo que relaciona
processos e arquivos chamado de Pipe um tipo de pseudoarquivo que pode
ser usado para conectar dois processos.
1.5.4 Entrada e Sada
Existem vrios tipos de dispositivos de entrada e sada, como teclados,
monitores e impressoras, cabe ao sistema operacional gerenciar esses
dispositivos.

1.5.5 Segurana.
Cabe ao sistema operacional gerenciar o sistema de segurana para
que os arquivos, por exemplo, sejam acessveis apenas por usurios
autorizados. Um exemplo, arquivos em UNIX so protegidos atribuindo-se a
cada um deles um cdigo de proteo de 9 bits, cada campo tem um bit de
permisso de leitura, um bit de permisso de escrita e outro bit de permisso
de execuo, o proprietrio pode ler, escrever, ou executar o arquivo, que
outros membros do grupo podem ler ou executar (mas no escrever) o arquivo,
e qualquer um pode executar (mas no ler ou escrever o arquivo.
1.5.6 O interpretador de comandos (Shell)
Embora no seja parte do sistema operacional, o Shell faz uso intensivo
de muitos aspectos do sistema operacional. Ele tambm a interface entre o
usurio frente de seu terminal e o sistema operacional. Existem muitos Shell,
dentre eles o sh, o csh, o ksh e o bash. Quando um usurio se conecta, um
shell iniciado este tem o terminal como entrada-padro e sada padro, ele
inicia emitindo um caractere de prompt (prontido) por exemplo o cifro, que
diz ao usurio que o shell est esperando receber um comando.
1.7 Estruturas dos sistemas operacionais
Agora que tivemos uma viso externa de um sistema operacional e da
interface dele com o programador vamos examinar os cincos principais do
sistema operacional.
1.7.1Sistema monoltico
E de longe a mais comum o sistema operacional inteiro e executado
como um nico programa no modo ncleo e escrito como uma coleo de
rotinas, ligadas a um nico grande programa binrio executvel. livre para
chamar qualquer outra se esta oferecer alguma computao til de que a
primeira necessite.
Para construir programa objeto real do sistema operacional usando-se
abordagem, primeiro compila-se todas as rotinas individualmente ento se
junta todos os arquivos objeto em um nico usando o ligador (Linker) do
sistema.
No sistema monoltico possvel ter um mnimo de estrutura provido
pelo sistema operacional requisitados colocando o s parmetro sem um local
bem definido executando uma instruo que chaveia a maquina do modo
usurio para o modo ncleo e transfere o controle para o sistema operacional.
Cada chamada de sistema h uma rotina de servio que se encarrega dela nas
utilitrias realizam tarefas necessrias para as varias rotinas de servios como
buscar dados dos programas dos usurios o sistema operacional e carregado

quando o computador e iniciado os sistemas do suporte como drives de E/S e


sistemas de arquivos.
1.7.2 Sistemas de camadas
a organizao do sistema operacional como uma hierarquia de
camada construda sobre a camada inferior dessa maneira foi THE
(Technische Hogeschool Eindhoven na Holanda i foi implementado por
E.WDijkstra, 1968) como o electrologica x8 que tinha 32k de palavra de 27 bit,
a camada 0 tratava da alocao do processador cada um deles podia ser
programado sem a preocupao com o fato de mltiplos processos estarem
executando um nico processador a camada 0 fornecia multiprogramao para
a CPU a camada 1 era encarregada do gerenciamento de memria principal
em um tambor magntico de 512k acima da camada 1 o processo no
precisavam prestar ateno e se estavam na memria principal ou no tambor
magntico trazidas para a memria principal.
A camada 2 era encarregada da comunicao entre cada processo de
conciliao da operao.
A camada 3 encarregava-se de gerenciar os dispositivo de E/S e
armazenava temporariamente os fluxos de informao que iam para esses
dispositivos o que vinham deles podia lidar com os dispositivos abstratos de
E/S mais amigveis em vez de dispositivos cheio de peculiaridade eles no
tinham que se preocupar com gerenciamento de dados na memria conforme
E/S o processo operador do sistema estava localizado na camada 5.
O conceito da camada estava presente no sistema MULTICS era
descrito como uma serie de anis concntricos, sendo mais privilegiado que os
externos. Os parmetros eram cuidadosamente verificados antes de permitir
que a chamada continuasse.
1.7.3 Microncleo
Com a abordagem dos sistemas de camadas os projetistas podem
escolher onde traar a fronteira ncleo usurio. As camadas entram no ncleo,
mas isso no e necessrio, pois apresentam um forte argumento possvel em
modo no ncleo podendo derrubar o sistema instantaneamente.

Aproximado para o sistema industrial serio de dez erros por mil linhas
isso quer dizer se tivermos um sistema monoltico de 5 milhes de linha
tenhamos 50 mil erros.

Os sistemas operacionais so suficientemente sujeito a erros por isso os


fabricantes inserem o boto de reiniciar que no o possuem em eletro
domestico carros, etc. Apesar de conter grande quantidade de softwares.
Em particular quando h execuo de todos os drives de dispositivos e
de cada sistema de arquivo como um processo de usurio separado um erro
em um deles pode quebrar aquele componente, mas no pode quebrar o
sistema inteiro seja alterado ou interrompido, mas no travara o computador o
sistema monoltico em todo o ncleo uma unidade de udio defeituosa pode
facilmente dar como referencia um endereo de memria invalido e parar o
sistema instantaneamente. O minix 3 um sistema de cdigo aberto disponvel
gratuitamente.
Fora do ncleo o sistema estruturado em trs camadas de processos
todas executada em modo usurio a camada inferior contem os drives de
dispositivos que constri uma estrutura que valores escrevem em quais portas
de E/S e gera uma camada ao ncleo para realizar a escrita.
Acima dos drives esta outra camada no modo usurio que contem os
servidores o interessante o servidor reencarnao cujo trabalho verificar se
os outros servidores e drives esto funcionando corretamente e se detecta uma
unidade defeituosa automaticamente e substituda sem nenhuma interveno
do usurio.
Mas esse sistema tem muita restrio que limitam a potencia de cada
processo os drives podem tocar apenas portas e/s autorizada, mas o acesso
chamado ncleo tambm e controlado por processo assim coma a capacidade
de enviar mensagens a outros processos.
A soma de todas essas restries que cada drives e servidor tem
exatamente a potencia para fazer seu trabalho e nada mais do que limita os
danos que poderia ser causado por danos defeituosos. A ideia ao ncleo
mnimo colocar o mecanismo para fazer algo no ncleo e no a poltica.
Um algoritmo de escalonamento relativamente simples atribuir a uma
propriedade a cada processo e, em seguida, fazer com que o ncleo execute o
processo executvel de maior prioridade. O mecanismo no ncleo procurar o
processo de maior prioridade e execut-lo.
1.7.4 O modelo cliente-servidor
H variao da ideia do micro ncleo distinguir entre duas classes de
processo os servidores que presta algum servio e os clientes que usa esse
servio. A camada inferior A camada inferior o microncleo ma no e
obrigatrio essa presena de processo cliente-servidora comunicao entre
eles muitas vezes realizada por meio de trocas de mensagem.

Uma generalizao executar clientes e servidor em computadores


diferentes conectados por uma rede local ou de grande rea eles no precisam
saber se as mensagens so entregues localmente em suas prprias mquinas
ou se no enviadas atravs de uma rede a servidores em uma maquina
remota. O cliente servidor uma abstrao que pode ser usado para uma
nica maquina ou para uma rede de maquinas.
Cada vez mais se v usurios em computadores pessoais, de fato
grandes parte da web opera dessa forma.
1.7.5 Maquinas virtual
As verses iniciais do sistema operacional os360 eram estreitamente
em lote porem muitos usurios do IBM 360 j desejava compartilhamento de
tempo. Dentro e fora da IBM, decidiram escrever sistemas de tempo
compartilhando para IBM 360 que o oficial e depois foi lanado o TSS/360
muito mais tarde que se tornou o mais popular.
Ele foi finalmente abandonado depois que j ter consumido cerca de 50
milhes de dlares em seu desenvolvimento, mas um grupo do centro cientifica
da IBM produziu outro sistema radicalmente diferente, que a IBM finalmente
adotou chamado Z/VM agora amplamente usado nos computadores de
grande porte atuais da IBM a serie z, que esto muito utilizados em grandes
centros.
VM/370
Esse sistema originalmente denominado CP/CMS depois renomeado
VM/370 de tempo compartilhado fornece multiprogramao o hardware oferece
essncia do VM/370 a separao completa dessas duas funes.
Com o monitor de mquina virtual, executado diretamente sobre o
hardware e programa a multiprogramao provendo assim no uma, mas
varias maquinas virtuais para a prxima camada situada acima. Na verdade
so copias exata do hardware inclusive com modos ncleo/usurio, E/S,
interrupes e tudo que uma maquina real tm. Cada uma delas pode executar
qualquer sistema operacional capaz de ser executado diretamente sobre o
hardware.
OS/360 para processamento em lote de transao enquanto se executa
em outro sistema operacional monousurio denominado CMS (sistema monitor
convencional) dedicado usurios interativos em tempo compartilhado, o qual
era popular entre os programadores. A partir da separao completa das
funes de multiprogramao e da proviso de uma maquina estendida,
podem-se ter partes muito mais simples, flexveis e fceis de serem mantidas.

A partir da separao completas das funes de multiprogramo e da


proviso de uma maquina estendida, pode-se ter partes muitos mais simples,
flexveis e fceis de serem mantidas.
Maquinas virtuais redescobertas
Embora a IBM tenha um produto de maquina virtual disponvel h quatro
dcadas e algumas outras companhias, inclusive a Sun Micro Systems e a
Hewlett-Packard, tinham acrescentado recentemente um suporte de maquina
virtual a seus servidores empresariais de alto desempenho, a Ideia de
virtualizao foi a grande medida ignorada na indstria da computao at
pouco tempo atrs. Mas, nos ltimos anos, uma combinao de novas
necessidades, novos softwares e novas tecnologias primeiro as necessidades
elas percebem a virtualizaco como um modo de executar todas elas na
mesma maquina sem que uma falhe em um servidor afete o resto.
A virtualizaco tambm popular na indstria de hospedagem de
paginas de web, tambm usada por usurios finais que querem executar dois
ou mais sistemas operacionais ao mesmo tempo, por exemplo, Windows e
Linux, porque alguns de seus pacotes de aplicaes favoritos so executados
em um dos sistemas e outros pacotes em outro sistema.
Como modificar a PSW ou fazer E/S essencial que o hardware crie um
dispositivo para o monitor da maquina virtual, de modo que a instruo possa
ser emulada em software em alguma CPU principalmente Pentium, e seus
predecessores e seus clones.
Quando o sistema operacional hospede inicializado, faz o mesmo que
no mesmo hardware, normalmente iniciando algum processo subordinado e,
em seguida, uma interface grfica GUI.
A mquina virtual Java
So usadas, mas de maneira diferente na execuo de programa Java.
Quando a Sun micro systems inventou a linguagem Java, inventou tambm
uma mquina virtual denominada JVM (Java virtual machine) o compilador
Java produz cdigo para JVM, que ento normalmente executado por um
programa interpretador da JVM que pode ser lanado pela internet a qualquer
computador que tenha um interpretador JVM. Se o compilador produzisse,
cdigo binrio para a SPARC ou paro o Pentium, esses cdigos no seria to
fcil assim levados de um lugar para outro.
O JVM uma arquitetura muito mais simples de interpretar os
programas que chegam podem ser verificados, por segurana, e ento
executados em um ambiente protegido, de modo que no possam roubar
dados ou causar quaisquer danos.

1.7.6 Exoncleo
Em vez de clonar a mquina real, como feito no caso das mquinas
virtuais, melhor da a cada usurio um subconjunto de recursos. Assim uma
mquina virtual pode obter os blocos 0 a 1.023 de disco, outra os blocos 1.024
a 2.047 e assim por diante.
No exoncleo sua tarefa alocar recursos s mquinas virtuais e ento
verificar as tentativas de us-los para assegurar-se de que nenhuma mquina
esteja tentando usar recurso de outra. Cada maquina virtual, em nvel de
usurio pode executar seu prprio sistema operacional. Uma maquina virtual
pensa que tem seu prprio disco. Com o exoncleo esse mapeamento deixa de
ser necessrio.

You might also like