Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SOIntroduo
Introduo
Gerncia de Memria
Entrada e Sada
SistemasOperacionaisI
PUCPREscola
Politcnica
LuizA.P.LimaJr.
Sistemas de Arquivos
Tpicos
Introduo
VisesdoSistemaOperacional
Umsistemacomputacionalcompostode:hardware(HW)+software(SW).
ComponentesdeumSistema
Operacional
1.1.Hardware (HW):
ClassesdeSistemasOperacionais
EvoluoehistricodosSOs
1ou+processadores
memriaprincipal(RAM)
discos
impressoras
teclado+mouse
monitordevdeo
interfacederede
outrosdispositivosdeentradaesada(E/S)...
Conceitosdehardware
ConceitosbsicosdeSOs
Processos
GernciadeMemria
EntradaeSada
Arquivos
ChamadasdeSistema
Ogerenciamentodestesdispositivosenvolvegrandecomplexidade.
1.2.Software (SW):
Divididobasicamenteemduascategorias:
programasdosistema:oprpriosistemaoperacional
programasdeaplicao:demaisprogramas
OSistemaOperacional:
controlarecursosefornecebaseparaaconstruodeaplicaes
permiteautilizaodocomputadordeformaeficienteesegura
OSO"esconde"acomplexidadedoHWsubjacentefornecendoaoprogramadorumconjuntodeinstruesmaisconveniente.
Software:comoosrecursossero
utilizados
ProgramasdeAplicao(ex:InternetExplore,Word,
Firefox,etc.)
Programasdosistema(shell,compiladores,editores)
SO:Controleecoordenaodos
recursos
Programadosistema
Hardware:recursosbsicos(CPU,memria,dispositivosdeE/S,etc.)
Shell:interpretadordecomandos(modotexto)
GUI(GraphicalUserInterfaceInterfaceGrficacomoUsurio)
O cdigo fonte de sistemas operacionais como Windows e Linux: > 5.000.000 de linhas. SOs possuem programao complexa e, portanto,
geralmenteevoluemaoinvsdeseremsimplesmentesubstitudos.
LinuxeSistemaOperacional
"Linux":serefereapenasaokerneldesenvolvidoporLinusTorvaldseoutros.Noentanto,otermotemsidousandocomumentecomosendookernelmais
vrios outros programas (ferramentas e bibliotecas) que formam um SO completo. Os chamados "distribuidores" Linux empacotam software para automatizar o
processodeinstalaoincluindosistemadearquivos,kerneleoutrosprogramas.
Assim,otermo"SistemaOperacional"(SO)podeter2sentidos:
1. Todoo"pacote"comosprogramasusadosparagerenciartodososrecursoscomputacionaisjuntamentecomasferramentas(porexemplo,interpretadores
decomandos,interfacesgrficas,utilitriosdearquivoseeditores).
2. Maisprecisamente,serefereaoprogramacentralquegerenciaealocarecursoscomputacionais(CPU,RAMedispositivos).
[topo]
1/8
24/07/2015
SOIntroduo
OSOpodeservistoapartirdedoisngulosouperspectivasdiferentes,conformeafiguraabaixo:
Controladordeentradaesadadeumaunidadededisquete(PD765):
16comandos:leitura,escritamovimentaodobraododisco,formatao,etc...
Bsicos:READeWRITEcom13parmetroscada:
endereodoblocoaserlido(trilha/setor);
nmerodesetoresportrilha;
mododegravaonomeiofsico;
espaamentoentresetores;
etc.
Valorderetorno:estruturacom23camposdeestadoedeerros.
Almdisso:deveacionarmotorantesdepoderler/escrever,masnopodedeixloligadoininterruptamentesobpenadedanificarodisco.
TudoissoencerraumagrandeCOMPLEXIDADE.
ComoSistemaOperacional,acomplexidade"escondida"doprogramador(edousurio)pormeiodasseguintesabstraes:
Disco=coleodearquivosidentificadospornomes.
Manipulaodearquivos:
Abrearquivoparaleitura/escrita;
L/escrevedadosnoarquivo;
Fechaoarquivo.
EstaavisodosistemaoperacionalcomoumaMquinaEstendida:equivalenteaohardware,pormmaissimples.Osistemaoperacionaltem
porobjetivodaraousurioailusodequeamanipulaodosrecursoscomputacionaismaissimplesdoquenarealidade.
Oqueacontecesevriosprocessosresolvemimprimirdadossimultaneamentenamesmaimpressora?Ousequiseremacessaraomesmo
tempoamesmaposiodememriaoudisco?
OutroexemploaquestodaproteodememriadedosdemaisdispositivosdeE/S.
Ocompartilhamentoderecursoscomputacionais:notempo(diferentesprogramasouusuriosaguardamcadaumasuavezdeusarorecurso
exemplos: CPU ou impressora) e no espao (diferentes programas usam simultaneamente diferentes "partes" dos recursos exemplos: memria e
disco).
OSistemaOperacionaltemoobjetivoderesolverestesproblemasatravsdagerncia do compartilhamento de recursos. O seu objetivo
gerenciarosusuriosdecadaumdosrecursosdamquinagarantindooacessoordenadodeusuriosarecursosatravsdamediaodeeventuais
conflitos(oquebastantecrticoemsistemasmultiusurio).
[topo]
2/8
24/07/2015
SOIntroduo
Kernel(ncleo)
GernciadeProcessos
GernciadeMemria
GernciadeEntradaeSada
GernciadeArquivos
Controledeusurios
GernciadeJanelaseGUI(interfacegrfica)
GernciadeRedes
GernciadeErros
Contabilidadedeusoderecursos
Gernciadesegurana
3.1.O Kernel
OkerneldoSOconcentraoacessoaohardware:
driversdedispositivos;
gernciadeacesso.
Funesbsicas:
operaesdeacessoaohardware
noobsicadeprocessos(escalonador)
comunicaoentreprocessos
Okernelexecutadoemmodoprivilegiadooumodokernel(tendoacessoatodooHWesendocapazdeexecutarqualquerinstruoquea
CPUcapazdeexecutar).OrestantedoSWdosistemacomputacional(restodoSO+aplicaes)executadoemmodousurio(ondesomenteparte
doconjuntodeinstruesdamquinaestdisponvel,porquestesdeseguranadeoperaodosistema).
[topo]
Tiposbsicosdesistemasoperacionais:
4.1.Monotarefa
1processo,1usurio
Exemplo:MSDOS
Sistemasemlote(batch)
Sistemasantigos
4.2.Multitarefa
Vriosprocessos,1usurio(Windows,Linux,MacOS).
TempodeesperaparaE/S:80a90%dotempototaldeprocessamento=>divisodamemria:
enquantoumatarefaesperavaqueaE/Ssecompletasse,outrapoderiausaraCPU.
Estatcnicaconhecidacomomultiprogragramao
Umamultiprogramaodestetipo(cedendoavezquandofazE/S)noadaptadaparaprocedimentosinterativos,eoprogramador,por
exemplo,tinhaqueesperaratquehouvesseacompilaodoseuprogramaparaidentificarumerroe,ento,podercorrigilo.Istopoderia
levarmaisde1dia.
AssimsurgiuocompartilhamentodetempodeCPU(outimesharing),comovariantedamultiprogramaoparasistemasinterativos.
Exemplos:UNIX(Linux),Windows,MacOSX,...(amaioriadossistemasoperacionaisatuais).
4.3.Multiusurio
Vriosprocessos,vriosusurios
Exemplos:Mach,Amoeba,Chorus.
[topo]
3/8
24/07/2015
SOIntroduo
MIT,BellLabseGEiniciamodesenvolvimentodosistemaoperacionalMULTICS(MultiplexedInformationandComputingService).
1969
KenThompsoneDennisRitchiedesenvolvemumaversosimplificadadoMULTICSemumPDP7abandonadonoBellLabs.Essesistemaser
batizadoporBrianKernighancomoUNICSedepoisUNIX.
PortagemdoUNIXparaoPDP11/20,PPDP11/40ePDP11/70;parasimplificaraportagem,KenThompsontentareescreveroUNIXemuma
1972
linguagemdealtonvel(B,simplificaodeBCPL);aequipemelhoraalinguagemBecriaalinguagemCparareescreveroUNIX,antesescrito
73
emassembly.
anos
70
UNIXusadonasuniversidades;oBellLabsliberalicenciafontesparaensinoepesquisa.
1976
Primeiraversocomercial(Verso6).
1978
IniciaodesenvolvimentodoUNIXBSD(BerkeleySoftwareDistribution),comBillJoyeOzalpBabaoglu.
anos
80
UNIXumprodutocomercialgrandeecomplexo.
1983
ApstertentadosemsucessoobterocdigofontedofirmwaredeumaimpressoraXeroxparacorrigirumdefeitodeoperao,Richard
Stallman(MIT)criaoProjetoGNU.Esseprojetovisaconstruirferramentasparaproduzirsoftwarelivre.
1984
OambientegrficoXWindowsdesenvolvidonoProjetoAthenadoMIT.
1987
AndrewTanenbaum,umprofessordaHolanda,escreveumaversodidticasimplificadadoUNIX,denominadaMINIX.
1987
SolanadososprimeirosPCsbaseadosnaCPUIntel386,quetrazmecanismosavanadosparaproteodeacessomemria.
1988
OambienteXWindows11r2divulgadoaopblico.
CriaodoLinux(ncleo0.01)porLinusTorvalds,estudantedeinformticafinlandscombasenoMINIX.
1991
1992
OncleoLinuxjsuportaasferramentasdoprojetoGNUeoambientegrficoXWindows,constituindoumambientecompletodesoftware
livre.
1992
PrimeirasdistribuiesLinux:MCCInterimLinux,TAMUeSLS.
1994
LanadookernelLinux1.0
1996
LanadookernelLinux2.0
2004
LanadookernelLinux2.6
2011
LanadookernelLinux3.0emcomemoraoaos20anosdoLinux.
VejaalinhadotempodoUNIX.
LanadooIntel8080(1aCPUde8bits).AEmpresaDigitalResearchdominaomercadocomoSOCP/M(ControlProgramfor
Microcomputers).
1980
IBMlanaoPC.PessoaldaDigitalResearchserecusaacriarumSO.BillGatesadquireoDOS(DiskOperatingSystem)daSeatleComputer
ProductsporUS$50.000,00,fundaaMicrosoft,eorenomeiaparaMSDOS.
AtesedeDougEngelbart(anos60)propunhaummodelodejanelas,cones,menus,etc.comumaInterfaceGrficacomoUsurio(GUI)no
dcada
implementadadevidoquantidadedememrianecessria(muitocaranapoca).Nestadcada,aXeroxdesenvolveuumainterfaceparaas
de
suasmquinascopiadorasbaseadanatesedeEngelbart.SteveJobs,criadordaApple,percebeopotencialdainterfacedaXeroxeaincorpora
1980
emseuproduto:oMacintosh.
AMicrosoftcriaoWindows(verso3.1)numatentativadeincorporarGUIaoMSDOS.Durante10anos(i.e.at1995),o
WindowsfoimeramenteumambientegrficorodandosobreoMSDOS.
1985
1995
Windows95:oprimeiroSOdaMicrosoftindependentedoMSDOS.
Windows98:praticamenteumaatualizaodoWindows95paracorrigirbugs.
1998
EmparaleloaMicrosoftdisparaoprojetodoWindowsNT(New
Technology)cujoobjetivoerareescreverinteiramenteoWindows95
comoobjetivodeaposentarversesantigas.Masapenasaverso4.0
doNTfoiquerealmentedeslanchou.
Lanadaaverso5.0doWindowsNT,maisconhecidacomoWindows2000.
http://www.ppgia.pucpr.br/~laplima/ensino/soeed/so_common/materia/01_intro.html
4/8
24/07/2015
SOIntroduo
1999
TambmlanadooWindowsME(umaversoatualizadadoWindows
98).
LanadoWindowsXP,baseadononcleodoNTcomaintenodejuntarNT/200e95/98/MEemum
nicoproduto.
2001
WindowsVista:alteraonainterface(Aero)edemecanismosdesegurana.
2007
2009
2012
Windows7:umreprojetodeinterfacecomousuriocomumanovabarradetarefas,umsistema
residencialderede(HomeGroup)emelhoriasdedesempenho.
Windows8:Foconamelhoradaexperinciadousurioemdispositivosmveis(tentativade
unificaodainterface).Outrasmelhorias:suportecomputaoemnuvem,segurana(suporte
embutidoaantivrus;suporteabootseguro:UEFI),...
VejaimagemdarvoredeevoluodoWindows:
LinhadotempodafamliaWindows[REF]
[topo]
6.1.Processadores
CPU(UnidadeCentraldeProcessamento):buscarinstruesnamemriaeexecutlas.
CadaCPUpossuiumconjuntoespecficodeinstruesquecapazdeexecutar.
TodasasCPUpossuemregistradoresinternosparaarmazenamentodevarveisimportanteseresultadostemporrios:
contadordeprograma(ProgramCounter=PC):contmoendereodememriadaprximainstruoaserbuscadaparaexecuo.
ponteirodepilha(StackPointer=SP):topodapilhadeprogramaatualnamemria(informaesnapilha:parmetrosdeentrada,
variveislocais,endereoderetornodePC,etc.).
http://www.ppgia.pucpr.br/~laplima/ensino/soeed/so_common/materia/01_intro.html
5/8
24/07/2015
SOIntroduo
ModosdefuncionamentodasCPUs:
Modokernel:executaqualquerinstruodoseuconjuntodeoperaesepodeusartodososatributosdohardware(SOrodaemmodo
kernel);
Modousurio:execuodeapenasumsubconjuntococonjuntodeinstrueseacessolimitadoaohardware(E/Seproteode
memriasogeralmenteinacessveisnomodousurio).
ParaacessarserviosdoSO:chamadasdesistema(abaixo).
6.2.Memria
MemriaRAM(RandomAccessMemory)=memriaprincipal(voltil)
Memriacache:cachehitecachemiss
MemriaROM(ReadOnlyMemory)(novoltil):rpidaebarata:programadadefbrica.
MemriaEPROM(ElectricallyErasableROM)ememriaflash:novolteis,passveisdereescrita.MaislentasqueRAM.
6.3.Entrada/sada e Interrupes
Controladores:hardwarequecontrolafisicamenteosdispositivos("placa").
Drivers:programasquesecomunicamcomoscontroladoresenviandocomandoserecebendorespostas.Precisamserexecutadosemmodo
kernel.Paratanto,soincorporadosaoSOnomomentodobootdosistemaouoSOpodesercapacitadoainstalarnovosdriversdinamicamente
semanecessidadedereboot.
8.Conceitos Bsicos de SO
[topo]
8.1.Processos
OconceitodeprocessoschaveemSistemasOperacionais.
Processo=instnciadeumprogramaemexecuo.
Oespaodeendereamentodoprocessoformadode:
texto:instruesdoprograma;
dados:variveiseconstantesestticasusadaspeloprograma;
heap:reaondememriadinmicareservada.
pilha:readememriaquecresceeencolhemedidaemquefunessochamadasouquandoseretornadelas.Armazenaigualmenteas
variveislocais.
PrincipaisregistradoresdaCPUenvolvidos:
contadordeprograma(PCProgramCounter)
ponteirodepilha
Compartilhamento do tempo de CPU produz a iluso de processos rodando simultaneamente. Como o SO interrrompe os processos, h a
necessidadedereinicilosmaistardeapartirdopontoondeforaminterrompidos.
Escalonamento: recuperar informaes sobre o estado do processo quando foi interrompido. Esta informao armazenada em estrutura
chamadatabeladeprocessos.
Umprocessopodecriaroutrosprocessos(filhos).Cadaprocessopossuiumidentificadorniconosistema(PID).
Anecessidadedecomunicaoentreprocessos.
8.2.Gerncia de Memria
Amemriaprincipaldocomputador(RAM)utilizadaparaarmazenarosespaosdeendereamentodosprocessos.
SOsimples:1programaporveznamemria.
SOsofisticados:vriosprogramassimultaneamentenamemria(necessidadedeproteo).
Omecanismodememriavirtualutilizadopara"estender"amemriaprincipal(fsica)atravsdousododisco.
6/8
24/07/2015
SOIntroduo
DispositivosdeE/S:
teclado;
mouse;
monitordevdeo;
impressora;
etc.
impemanecessidadedegerenciamentoporpartedoSO.
8.4.Sistemas de Arquivos
OSOdevesercapazdelocalizardadosemarquivosarmazenadosemdiscosmagnticosououtrosmeios.
Organizaodosistemadearquivos:diretrios=agrupamentosdearquivoseoutrosdiretrios.
Hierarquia:rvoregenrica.
NoUNIX:
Diretrioraiz:/(barra)
Diretriosuperior(pai):..(pontoponto)
Diretriocorrente:.(ponto)
Separadordediretrios:/(barra)
NoWindows:
Diretrioraiz:C:\
Diretriosuperior(pai):..(pontoponto)
Diretriocorrente:.(ponto)
Separadordediretrios:\(barrainvertida)
Umarquivoreferenciadode2formas:
refernciaabsoluta:caminhoapartirdaraiz.Exemplo(UNIX):
/home/prof/laplima
refernciarelativa:caminhoapartirdodiretriocorrente.Exemplo(UNIX):
../home/prof/laplima
Arquivosespeciais:paraquedispositivosdeE/Spossamsertratadospelosusurioscomosefossemarquivoscomuns.
UNIX:
stdout:sadapadro(tela)
stdin:entradapadro(teclado)
stderr:sadadeerrospadro(tela)
Arquivosespeciaistemporrioschamados"pipes"soutilizadosparacomunicaoentreprocessos.
http://www.ppgia.pucpr.br/~laplima/ensino/soeed/so_common/materia/01_intro.html
7/8
24/07/2015
SOIntroduo
Exemplodesystemcall(UNIX):
contador=read(fd,buffer,nbytes);
+seo2dasmanpages.
Leiaocaptulo1dolivrotexto(Tanenbaum,"SistemasOperacionaisModernos",2aedioemdiante)
Resolvaosexerccios1,2,7,9,16,21,23.
http://www.ppgia.pucpr.br/~laplima/ensino/soeed/so_common/materia/01_intro.html
8/8