Beruflich Dokumente
Kultur Dokumente
Sistemas Operacionais
Autores: Prof. Fbio Furukawa
Prof. Roberto Nunes
Colaboradores: Profa. Elisangela Monaco de Moraes
Prof. Roberto Macias
Prof. Fbio Vieira do Amaral
Furukawa, Fabio
Fundamentos de Sistemas Operacionais. / Fabio Furukawa;
Roberto Nunes. - So Paulo: Editora Sol.
160 p. il.
Nota: este volume est publicado nos Cadernos de Estudos e
Pesquisas da UNIP, Srie Didtica, ano XVII, n. 2-022/11, ISSN 1517-9230.
1.Abstrao em Sistemas Operacionais 2.Gerenciamento de
Recursos 3.Evoluo Computacional I.Ttulo
CDU 681.3
Todos os direitos reservados. Nenhuma parte desta obra pode ser reproduzida ou transmitida por qualquer forma e/ou
quaisquer meios (eletrnico, incluindo fotocpia e gravao) ou arquivada em qualquer sistema ou banco de dados sem
permisso escrita da Universidade Paulista.
Logica_Unid_IV.indd 139
15/12/2011 19:47:12
Sumrio
Fundamentos de Sistemas Operacionais
APRESENTAO ......................................................................................................................................................9
INTRODUO ...........................................................................................................................................................9
Unidade I
Unidade III
7.3 Compartilhamentos............................................................................................................................. 77
7.3.1 Travas em arquivos ................................................................................................................................. 77
7.3.2 Semntica de trava de acesso ........................................................................................................... 78
Logica_Unid_IV.indd 139
15/12/2011 19:47:12
APRESENTAO
10
Unidade I
1 FUNDAMENTOS DE SISTEMAS OPERACIONAIS
1.1 Nivelamento
O propsito geral dos computadores, desde aqueles pequenos e integrados conhecidos como telefones
inteligentes (smartphones), que podem ser carregados no bolso, at os de grande porte que necessitam
de ambientes extremamente planejados e controlados, similar em relao ao que esperamos deles. Em
linhas gerais, abdicando das partes e objetivando o todo, podemos simplicar dizendo que introduzimos
algo bruto na entrada e esperamos como resultado um produto lapidado com caractersticas especcas
para necessidades especcas.
Durante o processo de transformao do produto bruto at a sada e entrega do produto nal
existem componentes fsicos e lgicos trabalhando nesta produo. Os componentes fsicos no nosso
mundo computacional so conhecidos como hardware e a parte lgica, como software. Estes e outros
diversos termos e nomes utilizados so palavras de origem inglesa.
importante destacar que se tentarmos traduzir alguns termos para a lngua portuguesa, isso pode
causar problemas de entendimento durante a comunicao entre prossionais da rea de tecnologia,
pois na maioria dos casos estes termos j esto intrnsecos.
O hardware de um computador pode incluir o computador em si, os discos e a unidade de disco,
impressora, mouse etc. e o software corresponde a qualquer programa ou grupo de programas que
instrui o hardware sobre a maneira como ele deve executar uma tarefa, inclusive sistemas operacionais,
processadores de texto e programas de aplicao.
O sistema operacional a parte lgica que controla todo hardware, ou seja, mesmo que estejamos
usando um programa de computador com propsito de navegao na internet, de envio e recebimento
de e-mails, editores de texto e imagem ou qualquer outra aplicao (software), na realidade estes
esto se comunicando com o sistema operacional e cabe ao sistema operacional executar as tarefas
necessrias para uso dos componentes fsicos do computador, como memria, disco, controladores de
vdeo, rede etc.
A Figura 1, a seguir, ilustra a arquitetura macro de um sistema de computao tpico. Podemos
observar elementos fsicos hardware e lgicos software.
11
Unidade I
Lgico
Fsico
Hardware
Sistema
operacional
Aplicativos
Usurio do sistema
A maioria dos usurios de computador quando interagem com o aplicativo, baseado no ambiente
shell (interpretador de comandos) em modo texto ou ambientes GUI (Graphical User Interface interface
grca com o usurio), usando cones no ambiente grco, de fato no esto atuando diretamente no
sistema operacional.
Podemos sumarizar em duas palavras-chave os objetivos bsicos de um
sistema operacional: abstrao e gerncia, cujos principais aspectos so
descritos a seguir.1
1.2 Abstrao
Cada componente fsico de um computador possui caractersticas intrnsecas para atender ao seu
propsito, porm alm desta abordagem temos dispositivos que fazem parte de um mesmo propsito,
porm com estruturas bem diferentes. Isso se deve s diversas tecnologias disponveis no mercado e a
outros motivos atrelados s estratgias dos fabricantes ao desenvolver seus produtos.
Para exemplicar, faremos uma analogia com o mdulo de impresso que parte integrante dos
editores de texto. Neste caso trivial, j podemos nos deparar com uma situao bem enigmtica e
complicada de ser tratada. A diversidade de modelos de impressoras, tipos de conectores, se est ligada
diretamente ao computador ou se um dispositivo em rede e todas as demais questes fariam qualquer
programa ser extremamente complexo de ser desenvolvido e, mesmo se fosse factvel, todos os programas
ocupariam muito espao no disco rgido.
A Figura 2 ilustra como seria se os programas tivessem que atuar diretamente com os dispositivos
fsicos do ambiente computacional.
1
12
13
Unidade I
Figura 3 Abstrao
14
No exemplo demonstrado na Figura 3, os aplicativos podem produzir uma impresso sem precisar se
preocupar com o modelo e a compatibilidade com a impressora.
1.2.1 Gerncia
Os programas, por meio do sistema operacional, usam o hardware para
atingir seus objetivos: gravar, apagar, acessar e armazenar dados, imprimir
documentos, navegar na internet, tocar msica etc.
Quando dois ou mais aplicativos precisam concorrentemente e
simultaneamente acessar recursos de hardware, ento podem surgir
conitos. Cabe ao sistema operacional baseado nas polticas de sua estrutura
gerenciar o uso dos recursos de hardware e administrar disputas e conitos.
Seguem duas situaes ilustrativas onde a gerncia de recursos do hardware
impretervel:
O uso dos processadores deve ser distribudo entre os aplicativos ativos no
sistema, de forma que cada um deles possa executar no tempo, sequncia
e velocidade adequada para cumprir suas funes sem prejudicar os
outros. O mesmo ocorre com a memria RAM, que deve ser distribuda
de forma justa entre as aplicaes.
A impressora um dispositivo cujo acesso deve ser efetuado de forma
exclusiva, apenas um aplicativo por vez. Para resolver essa questo,
o sistema operacional armazena temporariamente todas as sadas
destinadas impressora, criando la de trabalhos a imprimir (print jobs),
normalmente atendidos de forma sequencial (FIFO, First In First Out
Primeiro a entrar o primeiro a sair).3
Imagine o que aconteceria se dois ou mais programas tentassem imprimir
suas sadas simultaneamente na mesma impressora. As primeiras linhas
poderiam ser do primeiro programa, as linhas seguintes seriam do segundo
programa e assim por diante.4
15
Unidade I
2 HISTRIA DOS SISTEMAS OPERACIONAIS
Saiba mais
Linha do tempo a histria do computador completa pode ser
encontrada em: Computer History Museum, <http://www.computerhistory.
org>, acesse Exhibits Timeline of Computer History.
O ingls Charles Babbage projetou o primeiro computador de uso geral. Esta mquina exclusivamente
mecnica era conhecida como a mquina analtica. Em seu projeto, Charles vislumbrava partes como
rodas, engrenagens e correias de alta preciso que no eram compatveis com a tecnologia disponvel
em sua poca, portanto a mquina nunca foi construda.
16
Em 1941, Konrad Zuse (19101995), em Berlim, construiu o computador Z3, demonstrado na Figura
6, primeiro computador eletromecnico, construdo de rels.
Figura 6 Computador Z3
A mquina Colossus era um computador eletrnico usado por ingleses para ajudar a decifrar
mensagens alems durante a Segunda Guerra Mundial. Este era o primeiro computador programvel no
mundo. Eram usadas vlvulas trmicas para executar os clculos.
17
Unidade I
O Colossus, demonstrado na Figura 7, foi projetado pelo engenheiro Tommy Flowers (19051998)
com suporte de Harry Fensom, Allen Coombs, Sid Broadhurst e Bill Chandler.
John William Mauchly (19071980) e seu aluno John Presper Eckert (19191995), em parceria com
o governo dos Estados Unidos, construram, na Universidade da Pensilvnia, o primeiro computador
eletrnico, conhecido como ENIAC (Electronic Numerical Integrator And Computer) demonstrado na
Figura 9.
18
Tipicamente, a programao das mquinas era feita ligando conectores em painis para controlar as
funes bsicas do equipamento. Nesta gerao de equipamentos, no existia linguagem de programao
nem sistema operacional.
A operao era realizada de acordo com os seguintes passos:
O programador reservava antecipadamente o tempo de mquina.
O programador encaminhava-se at a sala da mquina, inseria um painel
de programao no computador.
Aguardava horas monitorando e torcendo para que nenhuma das
milhares de vlvulas queimasse durante a execuo.6
5
6
19
Unidade I
2.2 Segunda gerao de computadores (1955-1965) Transistores e
sistemas em lote (batch)
Unidade
de ta
Fita de
entrada
Sistema
de tas
Impressora
20
Fita de
sada
Em 1964, a IBM lanou a linha de equipamentos da srie IBM 360 que foi a primeira linha de
computadores a usar circuitos integrados (CIs) em pequena escala, proporcionando melhor
custo-benefcio em comparao gerao de mquinas construdas com transistores.
Para atender linha de equipamentos da terceira gerao, o sistema operacional OS/360 foi lanado,
introduzindo vrias tcnicas fundamentais que at ento eram ausentes. Possivelmente, a tcnica de
suporte multiprogramao foi a mais signicativa, ou seja, enquanto a mquina 7094 com sistema
operacional FMS (Fortran Monitor System) ou IBSys estava lendo dispositivos de E/S com as tas
magnticas, ela no processava mais nada, deixando assim a CPU ociosa. Nos equipamentos da linha
360 rodando o OS/360, esta decincia foi resolvida repartindo a memria em partes e alocando-as para
tarefas. Enquanto uma tarefa estivesse esperando por uma operao de E/S (entrada e sada) terminar a
outra tarefa, poderia usar a CPU.
Outro fato importante que aconteceu durante a terceira gerao de computadores foi o crescimento
dos minicomputadores. Esse crescimento iniciou-se com o DEC PDP-1 (Programmed Data Processor-1),
em 1961, que, para certos tipos de aplicaes no numricas, era to rpido quanto os 7094, porm
custava 5% do valor de uma mquina 7079, criando, assim, uma demanda extraordinria para mquinas
PDP, conforme Figura 13.
21
Unidade I
Figura 13 PDP-1
O incio da quarta gerao teve como marco o desenvolvimento dos circuitos integrados contendo
milhares de transistores em alguns centmetros quadrados de silcio, dando origem era dos computadores
pessoais.
Em 1974, o chip de computador 8080 da Intel lanado no mercado, sendo a primeira CPU (Central
Processing Unit Unidade Central de Processamento) de 8 bits de uso geral. A Intel pede para Gary Kildall,
um de seus consultores, para desenvolver um sistema operacional para o 8080 que recebeu o nome de CP/M
(Control Program for Microcomputers Programa de Controle para Microcomputadores). Posteriormente, Gary
Kildall adquiriu os direitos sobre o CP/M, que foi cedido pela Intel, ento Kildall fundou a Digital Research.
A Digital Research reescreveu o CP/M adequando-o execuo em muitos microcomputadores que
utilizavam o chip da Intel 8080, Z80 fabricado pela Zilog e outros microprocessadores. Por cerca de
cinco anos com o seu novo sistema operacional CP/M e tambm motivado pela crescente quantidade de
programas aplicativos que foram escritos para este sistema, a Digital Research dominou o mercado.
O IBM PC foi lanado pela IBM no incio dos anos 1980 e, aps diculdades em negociar com a
Digital Research o desenvolvimento de um sistema operacional para seu equipamento, a IBM procurou
Bill Gates para desenvolver um sistema operacional compatvel com sua plataforma.
Bill Gates comprou (supostamente por 75 mil dlares), de uma fabricante local de computadores, a
Seattle Computer Products, o sistema operacional DOS (Disk Operating System sistema operacional de
disco). Aps contratar Tim Paterson, o criador do DOS, como funcionrio da sua empresa e ajustar parte
do cdigo, ento Bill Gates vendeu para a IBM o Sistema Operacional chamado MS-DOS (Microsoft Disk
Operating System Sistema Operacional de Disco da Microsoft).
Em 1983, foi lanado o PC/AT que utilizava o processador Intel 80286, mais tarde o 80386 e,
subsequentemente, o 80486. Mesmo sendo um sistema primitivo nesta altura, o MS-DOS j inclua
22
Unidade I
Para mquinas de alto desempenho vendidas pela Hewlett-Packard, IBM e Sun Microsystems e
equipadas com processadores RISC (Reduced Instruction Set Computer), padro o uso do sistema
operacional Unix (HP-UX, SUN Solaris, IBM AIX).
Saiba mais
<ftp://ftp.dca.fee.unicamp.br/pub/docs/ea876/so-caps12.pdf>
Resumo
Ao longo da histria da computao, mquinas totalmente mecnicas
foram, aos poucos, sendo substitudas por equipamentos que mesmo os
mais otimistas dos cientistas, da poca dos primeiros computadores do
mundo, jamais poderiam acreditar ou armar que seria possvel. Para a
computao atual ter se tornado realidade, muitas quebras de paradigmas
e diversas transformaes no hardware, bem como no software, foram
necessrias. A pluralidade dos equipamentos foi durante muitos anos um
grande benefcio para o modelo que temos atualmente, que ainda no o
denitivo, to pouco o mais eciente.
O fato dos sistemas operacionais terem sido elaborados como estruturas
abstratas, ou seja, permitindo que os desenvolvedores de equipamentos
pudessem obter resultados expressivos indo ao nvel dos bits, enquanto os
desenvolvedores de sistemas e usurios enxergassem pelo prisma de um nvel
elevado e gurativo, possibilitou que reas de especializao surgissem ao
invs do modelo antigo que compreendia um mesmo especialista ou grupo
de especialistas que atuavam praticamente desde o desenvolvimento do
equipamento at a operao e a manuteno.
Exerccios
Questo 1. Ao ligar o computador, um usurio comum tem a impresso que o primeiro software
(programa) executado o sistema operacional. Isso no verdade. O hardware (parte fsica do
computador, formado por componentes eletrnicos, circuitos integrados e placas, que se
comunicam por meio de barramentos) sofre uma checagem geral pelo BIOS (Sistema Bsico de
Entrada/Sada), este sim o primeiro software executado. Se no houver nenhum problema com
os diversos dispositivos, o processo de inicializao do computador poder continuar e o segundo
software, denominado bootstrap, ser executado. A funo do bootstrap, alm de atualizar alguns
registradores, permitir ao usurio a seleo do sistema operacional que dever ser executado/
carregado pelo computador. Nos computadores com um nico sistema operacional, o bootstrap e
24
Unidade I
D) Alternativa incorreta.
Justicativa: o Shell a interface que permite que o usurio interaja com o sistema operacional.
E) Alternativa incorreta.
Justicativa: mesmo para os usurios mais avanados seria impossvel gerenciar o sistema
computacional sem o sistema operacional.
Questo 2. (ENADE 2005) Apesar de todo o desenvolvimento, a construo de computadores e
processadores continua, basicamente, seguindo a arquitetura clssica de Von Neumann. As excees a
essa regra encontram-se em computadores de propsitos especcos e nos desenvolvidos em centros de
pesquisa. Assinale a opo em que esto corretamente apresentadas caractersticas da operao bsica
de um processador clssico.
A) Instrues e dados esto em uma memria fsica nica; um programa constitudo de uma
sequncia de instrues de mquina; uma instruo lida da memria de acordo com a ordem
dessa sequncia e, quando executada, passa-se, ento, para a prxima instruo na sequncia.
B) Instrues e dados esto em memrias fsicas distintas; um programa constitudo de um
conjunto de instrues de mquina; uma instruo lida da memria quando o seu operando de
destino necessita ser recalculado; essa instruo executada e o resultado escrito no operando
de destino, passando-se, ento, para o prximo operando a ser recalculado.
C) Instrues e dados esto em uma memria fsica nica; um programa constitudo de um
conjunto de instrues de mquina; uma instruo lida da memria quando todos os seus
operandos-fonte estiverem prontos e disponveis; essa instruo executada e o resultado
escrito no operando de destino, passando-se, ento, para a instruo seguinte que tiver todos os
seus operandos disponveis.
D) Instrues e dados esto em memrias fsicas distintas; um programa constitudo de um
conjunto de instrues de mquina; uma instruo lida da memria quando todos os seus
operandos-fonte estiverem prontos e disponveis; essa instruo executada e o resultado
escrito no operando de destino, passando-se, ento, para a instruo seguinte que estiver com
todos os seus operandos disponveis.
E) Instrues e dados esto em memrias fsicas distintas; um programa constitudo de uma
sequncia de instrues de mquina; uma instruo lida da memria de acordo com a ordem
dessa sequncia e, quando executada, passa-se, ento, para a prxima instruo na sequncia.
Resoluo desta questo na Plataforma.
26