Você está na página 1de 38

Sumrio

1. Introduo a Histria do Sistema Operacional UNIX..................................................... 4


2. UNIX Uma Viso eral..................................................................................................... !
2.1 "odularidade........................................................................................................... !
2.2 "ultitare#a $"ultitas%in&'........................................................................................ !
2.( "ultiusurio $"ultiuser'.......................................................................................... )
2.4 *orta+ilidade........................................................................................................... 1,
2.- .onecti/idade e .omunica0es............................................................................1,
(. 1strutura do UNIX............................................................................................................ 12
4. S2ell $Interpretador de .omandos'.................................................................................14
-. No0es de 3in2a de .omando no UNIX.........................................................................14
4. 5r6ui/os de Iniciali7ao................................................................................................. 1!
8. erenciamento de 5r6ui/os............................................................................................22
8.1 5tri+utos e Nomes de 5r6ui/os.............................................................................22
!. erenciamento de *rocessos e 1scalonamento no UNIX............................................22
!.1 9locos de .ontrole de *rocessos $9.*'..............................................................22
!.2 1scalonamento de .*U..........................................................................................24
). "emria e erenciamento............................................................................................... 2-
1,. :eadloc%s......................................................................................................................... 28
1,.1 .ondi0es para Ocorr;ncias de :eadloc%s..........................................................28
1,.2 5l&oritmo do 5/estru7............................................................................................2!
1,.( 5l&oritmo do 9an6ueiro......................................................................................... 2!
1,.4 <ratamento de :eadloc%s.......................................................................................2)
1,.- :etectar e =ecuperar..............................................................................................2)
11. <2reads no UNIX ............................................................................................................. (,
12. >ernel................................................................................................................................ (2
1(. :ispositi/os de 1?S.......................................................................................................... (4
14. .omunicao Serial e *aralela.......................................................................................(-
1-. .on#i&urao do <.*?I*.................................................................................................. (4
14. Ser/ios <.*?I*................................................................................................................
18. *rocedimentos de +oot e o Init.......................................................................................
1!. =e#er;ncias 9i+lio&r#icas..............................................................................................
1. Introduo a Histria do Sistema Operacional UNIX
Segundo Fernando Krahe
1
, as razes do UNIX datam dos meados dos anos 60, quando a
AT&T, Hone!e"", #$ e o %IT em&ar'aram em um mass()o *ro+eto *ara desen)o")(mento de um
ut("(t,r(o de (n-orma./o, 'hamado %u"t('s 0%u"t(*"e1ed In-ormat(on and 2om*ut(ng Ser)('e34 5
s(stema de)er(a ser mu"t(usu,r(o, 'om um s(stema de arqu()os de a"ta 'on-(an.a, su*orte a ),r(os
t(*os de a*"('a.6es, e a ),r(os am&(entes de *rograma./o e (nter-a'es de usu,r(o4
%u"t('s era um s(stema modu"ar montado em uma &an'ada de *ro'essadores, mem7r(as e
equ(*amentos de 'omun('a./o de a"ta )e"o'(dade4 8e"o desenho, *artes do 'om*utador *oder(am
ser des"(gadas *ara manuten./o sem que outras *artes ou usu,r(os -ossem a-etados4 5 o&+et()o
era *ro)er ser)(.o 9: horas *or d(a ;6< d(as *or ano = um 'om*utador que *oder(a ser tornado
ma(s r,*(do ad('(onando ma(s *artes4
$m 1>6>, o *ro+eto esta)a mu(to atrasado em re"a./o ao seu 'ronograma e a AT&T
reso")eu a&andona="o4 5 *ro+eto 'ont(nuou no %IT4 Neste mesmo ano, Ken Thom*son e ?enn(s
@(t'h(e de'(d(ram desen)o")er a"gumas (dA(as do %u"t('s, e"es rees're)eram todo o s(stema
o*era'(ona" *ara um 'om*utador &em menos *otente, um ?$2 8?8=B, de : C&tes de mem7r(a4
Thom*son term(nou o tra&a"ho no )er/o de 1>6>, -o( ut("(zada a "(nguagem D28E 0'onhe'(da
*o*u"armente 'omo E(nguagem D Fassem&"G3, que 'onta)a 'om -un.6es &,s('asH ed(tor de te1to,
montador 0ou assem&"er, que trans-orma "(nguagem assem&" em "(nguagem de m,qu(na3 e
(nter*retador de 'omandos 0um She""3 neste *erodo o s(stema era 'hamado de Un('s 0UN(*"e1ed
In-ormat(on and 2om*ut(ng Ser)('e3, numa a"us/o ao %u"t('s, e -o( "ogo re&at(zado 'omo Un(14
A *r(me(ra )ers/o do s(stema FD$EE EADs 8?8=11G -o( "an.ada em 1I Jane(ro de 1>B0, data
'ons(derada 'omo a de nas'(mento do s(stema Un(1, o que e1*"('a *orque todos os re"7g(os dos
s(stemas de e1*"ora./o Un(1 'ome.am a *art(r desta data4
5 *ro+eto 'res'eu e surg(u a ne'ess(dade de se usar um s(stema o*era'(ona" 'om*at)e"
'om d(-erentes *"ata-ormas de hard!are, o que "e)ou ao desen)o")(mento de uma no)a "(nguagem
de *rograma./o, que *udesse ser *ortada 'om -a'("(dade, sem ou 'om *ouquss(mas
mod(-('a.6es no sour'e0'7d(go=-onte34
$m 1>B9, ?enn(s @(t'h(e e Dr(an K4Kern(ghan, *art('(*aram at()amente do desen)o")(mento
da E(nguagem 2, 0mot()o *e"o qua", A 'ons(derado 'omo um dos seus (n)entores3, a "(nguagem 2
1
Fonte: Fernando Krahe. Nivelamento UNIX
2
su*era)a as "(m(ta.6es da "(nguagem D, ass(m, o 'on+unto do s(stema UNIX -o( (nte(ramente
rees'r(to em "(nguagem 2 em 1>B; e &at(zado Un(1 T(me=Shar(ng Sstem 0TSS34
$m 1>B; o UNIX -o( rees'r(to em 2, ta")ez o -ato ma(s (m*ortante da h(st7r(a deste s(stema
o*era'(ona"4 Isto s(gn(-('a)a que o UNIX *oder(a ser *ortado *ara no)o hard!are em meses, e que
mudan.as eram -,'e(s4 A "(nguagem 2 -o( *ro+etada *ara o s(stema o*era'(ona" UNIX, e *ortanto
h, uma grande s(nerg(a entre 2 e UNIX4
2omo a "e( (m*ed(a a em*resa AT&T, e a De"" Ea&s, de 'omer'(a"(zar outra 'o(sa que n/o
equ(*amentos te"e-Ln('os ou te"egr,-('os, tomo=se a de'(s/o de d(str(&u(r os -ontes de UNIX *ara
as un()ers(dades *ara -(ns edu'at()os em 1>B;4
$m 1>B< -o( "an.ada a M6, que -o( a *r(me(ra )ers/o de UNIX am*"amente d(s*on)e" -ora
dos domn(os do De"" Ea&s, es*e'(a"mente em un()ers(dades4 $ste -o( o (n'(o da d()ers(dade e
*o*u"ar(dade do UNIX4 Nesta A*o'a na Un()ers(dade de DerC"e os a"unos 'ome.aram a -azer
mod(-('a.6es ao s(stema4
2ome.aram a surg(r no)as )ers6es, a"Am da or(g(na" da AT&T 0re&at(zada 'omo Sstem M3N
a *r(me(ra -o( desen)o")(da na Un()ers(dade de DerCe"e, denom(nado DS? 0DerCe"e So-t!are
?(str(&ut(on3, "(&erada *u&"('amente no -(na" de 1>BB, *re'ursor dos atua(s e &em=su'ed(dos
DS?Os, 0a"guns anos de*o(s 'om &ase no s(stemas DS? surg(ram no)as F)ers6esG, 'omo o
-reeDS?, netDS? e o*enDS?, que t(nham o Cerne" &aseado no s(stema DS?34
Ass(m do(s ramos de desen)o")(mento das -ontes se -ormaramH
AT&T que (a tornar=se Sstem M de UNIX Sstem Ea&s 0USE3N
DS? 0DerCe"e So-t!are ?e)e"o**ement3 desen)o")(do *e"a Un()ers(dade de
2a"(-7rn(a4
A(nda em 1>BB a AT&T de(1ou os -ontes do UNIX P d(s*os(./o das outras
em*resas, de modo que um grande nQmero de UNIX="(Ce -oram desen)o")(dosH
AIX, Un(1 'omer'(a" &aseado no Sstem M desen)o")(do em -e)ere(ro de 1>>0 *e"a
ID%N
Sun So"ar(s, Un(1 'omer'(a(s &aseado no Sstem M e DS? desen)o")(do *e"a Sun
%('rosstems N
H8=UX, Un(1 'omer'(a" &aseado em DS? desen)o")(do a *art(r de 1>R6 *e"a
He!"ett 8a'Card N
U"tr(1, Un(1 'omer'(a(s desen)o")(do *e"a ?(g(ta" $qu(*ment 2or*orat(onN
I@IX, Un(1 'omer'(a" desen)o")(do *e"a S("('on #ra*h('sN
Un(1!are, Un(1 'omer'(a(s desen)o")(dos *e"a No)e""N
3
Un(1 S25, Un(1 'omer'(a" &aseado no Sstem M desen)o")(do a *art(r de 1>B> *e"a
Santa 2ruz 5*era.6es e He!"ett 8a'CardN
Tru6: UNIX, Un(1 'omer'(a" desen)o")(do *e"a 2om*aq4
$m 1>BR DerC"e So-t!are ?(str(&u(t(on "an.a a sAr(e 941DS? *ara 8?8 = 11 0a )ers/o 9411
-o( "an.ada em 1>>934 Nesta )ers/o sa(u o 'sh4 Neste ano tam&Am sa(u a sAr(e ;DS?, que te)e
uma (m*ortante 'ontr(&u(./o, )(rtua" memor4
$m 1>B> sa(u a MB e o Un(1 -o( *ortado *ara o no)o MAX da ?(g(ta"4 $sta )ers/o (n'"u(a 2
K&@ 'om*"eto, uu'*, Dourne She""4 5 Cerne" t(nha meramente :0 &tesS $sta -o( a *r(me(ra )ers/o
)end(da 'omer'(a"mente do s(stema, mas usada *r(n'(*a"mente *or un()ers(dades4 $m sua )ers/o
B de 1>B>, a e)o"u./o -o( a'om*anhada de numerosas mod(-('a.6es not,)e(s 'omoH
a su*ress/o do &r(dage "(gado P d(mens/o dos arqu()os,
uma me"hor mo&("(dade do s(stema 0-un'(onamento so&re numerosas *"ata-ormas
mater(a(s3,
a ad(./o de numerosos ut("(t,r(os4
$m 1>R; A "an.ado o Sstem M da AT&T e o :49 DS?4 5 SM (n'"ua o *a'ote I82 0shm,
msg, sem3 *ara 'omun('a./o entre *ro'essos4 Surg(ram outras )ers6es do SM 'om a (n'"us/o de
no)as 'ara'terst('as 'omo shared"(&s no SM@:4 5 :49DS? -o( ta")ez uma das ma(s (m*ortantes
)ers6es do UNIX4 5 seu so-t!are de 'one1/o de redes torna)a mu(to -,'(" a tare-a de 'one'tar
'om*utadores UNIX a redes "o'a(s4 Nessa )ers/o A que -oram (ntegrados os so-t!ares que
(m*"ementam T28TI8 e so'Cets4
A AT&T *arou de d(s*on(&("(z,="o "()remente, *assou a ser d(s*on(&("(zado *or um *re.o
mu(to a"to, A de*o(s de a"gum tem*o uma ser(e de un()ers(dades, em*resas e gru*os de
*rogramadores, 'ome.aram a desen)o")er uma ser(e de a*"('at()os *ara o Un(1 0desde +ogos atA
a*"('a.6es 'omer'(a(s34
Tantas )ar(edades de Un(1 surg(ndo a todo momento, 'om as mesmas 'ara'terst('as, mas
'om tendUn'(as a se d()erg(rem -ez surg(r ent/o em 1>R< o *adr/o 85SIX 08orta&"e 5*erat(ng
Sstem Inter-a'e -or Un(X3, um 'on+unto de *adr6es de-(n(dos *e"o I$$$0Inst(tute o- $"e'tr('a" and
$"e'tron('s $ng(neers34 85SIX ass(m A 'onhe'(do (gua"mente so& o nome I$$$ 8100;4
5 85SIX n/o *erm(t(u 'om*at(&("(dade de rodar *rogramas &(n,r(os entre os ),r(os Un(1,
mas s(m -a'("(dade de *ortar um *rograma de um Un(1 *ara outros, atra)As de 'om*("a./o de
'7d(gos=-onte em 24
4
$m 1>RR -o( "an.ado o SM@:4 $ste s(stema era um merge de re"eazes anter(ores do SM,
DS? e Sun5s, uma (m*"ementa./o des'endente de DS?4 5 :4:DS? -o( "an.ado em 1>>9 *ara
),r(as *"ata-ormasH H8 >000T;00, S*ar', ;R6, ?$2 e outras, mas n/o em MAX4 $ntre as no)as
'ara'terst('as est/oH
No)o s(stema de mem7r(a )(rtua" &aseado em %a'h 94<
Su*orte IS5T5SI 0&aseado em IS5?$3
A Sun %('rosstem tam&Am "an.ou a sua )ers/o do UNIX a *art(r do DS?4 Isto o'orreu atA
a )ers/o Sun5s :414 A no)a )ers/o, Sun5s <41 est, &aseada no SM@:, em&ora tenha herdado
a"gumas 'ara'terst('as do Sun5s :414 5 no)o s(stema o*era'(ona" da Sun, So"ar(s 941, A um S5
que eng"o&a Sun5s <41, 5*en Net!orC 2om*ut(ng e 5*en K(ndo!s4 V o so"ar(s que *ro)U o
*a'ote de 'om*at(&("(dade entre os DS?TSun5s e o SM@:TSun5s <414
A %('roso-t tam&Am "an.ou uma )ers/o do UNIX, 'hamada X$NIX, que roda)a em 82s4
$ste s(stema era (n('(a"mente &aseado na Mers/o B, de*o(s herdou 'ara'terst('as dos SIII e
de*o(s do SM4
No (n'(o da dA'ada de 1>>0, a AT&T )endeu o '7d(go UNIX *ara a No)e""4 $m 1>><, a
No)e"" )endeu *ar'(a"mente a"guns dos d(re(tos do '7d(go UNIX P Santa 2ruz 5*erat(on4 $m
9000, a Santa 2ruz 5*erat(on )endeu o '7d(go UNIX *ara a 2a"dera Sstems, que mudou seu
nome *ara S254
Atua"mente, Un(1 0ou Wn(13 A o nome dado a uma grande -am"(a de S(stemas 5*era'(ona(s
que *art("ham mu(tos dos 'on'e(tos dos S(stemas Un(1 or(g(na(s, todos desen)o")(dos so& a
*"ata-orma de *adr6es 'omo o 85SIX e outros4 A"guns dos S(stemas der()ados do Un(1 s/oH DS?
0FreeDS?, 5*enDS? e NetDS?3, So"ar(s 0anter(ormente 'onhe'(do *or Sun5S3, I@IX, AIX, H8=
UX, Tru6:, E(nu1 0nas suas 'entenas de d(str(&u(.6es3, e atA o %a' 5S X 0&aseado em um Cerne"
%a'h DS? 'hamado ?ar!(n34 $1(stem ma(s de quarenta s(stemas o*era'(ona(s Wn(1, rodando
desde 'e"u"ares a su*er'om*utadores, de re"7g(os de *u"so a s(stemas de grande *orte4
5
2. O @ue A o UNIXB
5 Un(1 A um s(stema o*era'(ona" mu"t(=usu,r(o e mu"t(=tare-as, o que *erm(te a um
'om*utador e1e'utar s(mu"taneamente ),r(os *rogramas *ara um ou ),r(os usu,r(os4 %u"t(tare-a
s(gn(-('a e1e'utar )ar(as tare-as ou *ro'essos s(mu"taneamente, *orem, em um hard!are
mono*ro'essado, o s(stema mu"t(=thread n/o -un'(ona, mas os *ro'essos s/o e1e'utados
seqXen'(a"mente de -orma t/o r,*(da que *are'em estar sendo e1e'utados s(mu"taneamente, 5
Un(1 es'a"ona sua e1e'u./o e reser)a="hes re'ursos 'om*uta'(ona(s 0(nter)a"o de tem*o de
*ro'essamento, es*a.o em mem7r(a @A%, es*a.o no d(s'o rg(do, et'434
Ho+e em d(a, os s(stemas Un(1 est/o *resentes nos me(os *ro-(ss(ona(s e un()ers(t,r(os
gra.as P sua grande esta&("(dade, ao seu n)e" de seguran.a e"e)ado e ao res*e(to dos grandes
*adr6es, nomeadamente em matAr(a de rede4
5 Un(1 a*resenta tam&Am 'omo 'ara'terst('a o seu s(stema de arqu()os4 Tudo neste
s(stema o*era'(ona" A 'ons(derado um arqu()o, atA mesmo os d(s*os(t()os de IT5 s/o tratados
'omo arqu()o *e"o s(stema4 A"Am do 'on'e(to de arqu()os, outros 'on'e(tos *resentes no s(stema
s/oH *ro'essos, she"", d(ret7r(os e *ath4
2.1 "odularidade
5 UNIX A Qn('o em seu desenho modu"ar, que *erm(te usu,r(os ad('(onar ou remo)er *artes
*ara ada*t,="o Ps suas ne'ess(dades es*e'-('as4 5s m7du"os se en'a(1am 'om 'one16es=
*adr/o4 V *oss)e" t(rar um m7du"o e su&st(tu="o *or um outro ou e1*and(r o s(stema
a'res'entando ),r(os m7du"os4 ?e uma 'erta mane(ra, o s(stema UNIX de 'ada *essoa A Qn('o4
%u(tos us,r(os a'res'entam ou e"(m(nam m7du"os sem*re que *re'(sam, ada*tando suas
(m*"ementa.6es Ps suas ne'ess(dades4 #era"mente, A *oss)e" remo)er um m7du"o, sem
*re+ud('ar a o*era./o do resto do s(stema4 $sta 'ara'terst('a A mu(to Qt(" nas (m*"ementa.6es em
m('ro'om*utadores, onde as un(dades de d(s'o tUm 'a*a'(dade "(m(tada4 A remo./o de arqu()os
desne'ess,r(os a&re es*a.o *ara ma(s arqu()os de dados4
2.2 "ultitare#a $"ultitas%in&'
A 'a*a'(dade de mu"t(tasC(ng do UNIX *erm(te que ma(s de uma tare-a se+a rea"(zada
s(mu"taneamente4 $sta A uma das *r(n'(*a(s 'ara'terst('as do UNIX4 As tare-as que est/o em
e1e'u./o 'on'orrem *e"os re'ursos da m,qu(na que s/o 'ontro"ados *e"o s(stema4 V *oss)e",
6
*ortanto, que um *rograma que atua"(ze um &an'o de dados se+a rodando ao mesmo tem*o que a
(m*ress/o de um re"at7r(o este+a sendo rea"(zada e uma te"a de term(na" este+a sendo en)(ada4

5 Un(1 A um s(stema o*era'(ona" de mu"t(tare-a *reem*t()a, ou se+a, quando term(na o
(nter)a"o de tem*o 0'hamado quantum3, a e1e'u./o do *ro'esso e sus*ensa, sa")a o seu
'onte1to 0(n-orma.6es ne'ess,r(as *ara a e1e'u./o do *ro'esso3, *ara que e"e *ossa ser
retomado *oster(ormente, e 'o"o'a em e1e'u./o o *r71(mo *ro'esso da -("a de es*era, tam&Am
determ(na quando 'ada *ro'esso ser, e1e'utado, a dura./o de sua e1e'u./o e a sua *r(or(dade
so&re os outros4 A mu"t(tare-a, *erm(te que o usu,r(o e o 'om*utador -(quem "()res *ara rea"(zarem
outras tare-as e'onom(zando tem*o4
$m uma (nter-a'e gr,-('a 'om um am&(ente de +ane"as *ode=se d(s*arar 'ada tare-a em uma
+ane"a she""4 J, em um am&(ente n/o gr,-('o, as tare-as que *odem ser e1e'utadas sem a
(nter)en./o do usu,r(o s/o 'o"o'adas em &a'Cground4 $m -oreground de(1a=se as tare-as que
ne'ess(tam da (nter)en./o do usu,r(o, 'omo a ed(./o de um arqu()o4
2.( "ultiusurio $"ultiuser'
5 Un(1 *erm(te que ),r(os usu,r(os ut("(zem um mesmo 'om*utador s(mu"taneamente,
gera"mente *or me(o de term(na(s, seme"hante ao %a(n-rame4 2ada term(na" A 'om*osto de um
mon(tor, um te'"ado e, e)entua"mente, um mouse4 M,r(os term(na(s *odem ser 'one'tados ao
mesmo 'om*utador num s(stema Un(14 H, a"guns anos eram usadas 'one16es ser(a(s, mas
atua"mente A ma(s 'omum o uso de redes "o'a(s, *r(n'(*a"mente *ara o uso de term(na(s gr,-('os4
5 Un(1 geren'(a os *ed(dos que os usu,r(os -azem, e)(tando a (nter-erUn'(a de uns nos
outros4 2ada usu,r(o *ossu( d(re(tos de *ro*r(edade e *erm(ss6es e1'"us()as so&re arqu()os4
Yua(squer arqu()os mod(-('ados *e"o usu,r(o 'onser)ar/o esses d(re(tos4 8rogramas e1e'utados
*or um usu,r(o 'omum estar/o "(m(tados em termos de qua(s arqu()os *oder/o a'essar4
5 s(stema Un(1 *ossu( do(s t(*os de usu,r(osH o usu,r(o root 0tam&Am 'onhe'(do 'omo
su*er=usu,r(o3, seme"hante ao adm(n(strador do K(ndo!s, que *ossu( a m(ss/o de adm(n(strar o
s(stema, *odendo man(*u"ar todos os re'ursos do s(stema o*era'(ona"N e os usu,r(os 'omuns,
que *ossuem d(re(tos "(m(tados4
8ara que o s(stema o*ere adequadamente em modo mu"t(usu,r(o, e1(stem a"guns
me'an(smosH
7
S(stema de autent('a./o de usu,r(o 0o *rograma "og(n, *or e1em*"o, autent('a o
usu,r(o )er(-('ando uma &ase de dados, norma"mente armazenada no arqu()o
Tet'T*ass!ord3N
S(stema de *erm(ss6es e *ro*r(edades so&re arqu()os 0os d(re(tos anter(ormente
'(tados3N
8rote./o de mem7r(a, (m*ede que um *ro'esso de usu,r(o a'esse dados ou
(nter-(ra 'om outro *ro'esso4 $sse me'an(smo A -e(to 'om a a+uda do hard!are, que
d()(de o am&(ente de *ro'essamento e mem7r(a em modo su*er)(sor 0ou modo
Un(1 : nQ'"eo3 e modo usu,r(o4
2.4 *orta+ilidade
A *orta&("(dade A a *oss(&("(dade dos so-t!ares que o*eram em uma m,qu(na o*erarem em
uma outra d(-erente4 H, do(s t(*os de *orta&("(dade a serem 'ons(deradosH
8orta&("(dade do s(stema o*era'(ona"
8orta&("(dade dos a*"('at()os
%a(s de >0Z do *rograma Kerne" est, es'r(to em 2 e menos de 10Z em "(nguagem de
m,qu(na4 Ass(m, na *(or das h(*7teses, a*enas 10Z do *rograma Kerne" ter, de ser rees'r(to ao
se des"o'ar o Kerne" *ara uma m,qu(na 'om arqu(tetura d(-erente4 5s *rogramas a*"('at()os
es'r(tos em "(nguagem de n)e" ma(s a"to, 'omo 2, s/o -a'("mente *ort,)e(s *ara ),r(os s(stemas
UNIX4 Dasta que se+am re'om*("ados, e1(g(ndo, as )ezes, *ou'as a"tera.6es4
5 Un(1 8ossu( ),r(os (nter*retadores de 'omandos 0She""3 &em 'omo um grande nQmero de
'omandos e numerosos ut("(t,r(os 0'om*("adores *ara numerosas "(nguagens, tratamentos de
te1to, ser)(.o de mensagens e"etrLn('as,et'34 Tam&Am *ossu( uma grande mo&("(dade, o que
*erm(te sua (nsta"a./o em quase todas as *"ata-ormas mater(a(s4
2.- .onecti/idade e comunica0es
No UNIX temos do(s t(*os de 'omun('a.6es, qua(s se+am, 'omun('a./o entre *rogramas e
'omun('a./o entre usu,r(os4 A 'omun('a./o entre *rogramas A rea"(zada atra)As de mensagens,
sem,-oros ou mem7r(a 'om*art("hada4 $stes me'an(smos, tam&Am 'onhe'(dos *or I82,
(nter*ro'ess 'omun('at(ons, s/o e1tens6es do Sstem M4
A 'omun('a./o entre usu,r(os *ode se rea"(zar de d()ersas mane(ras, entre e"as h, o %a(",
que A um *rograma *ara en)(ar e re'e&er mensagens e"etrLn('as, o Kr(te, que es're)e uma
mensagem no term(na" de outra *essoa "ogada no s(stema, o Ka"", que es're)e mensagens nos
8
term(na(s de todas as *essoas "ogadas no s(stema, o Ta"C, que *erm(te uma 'on)ersa em tem*o
rea"4
H, tam&Am a 'omun('a./o entre os s(stemas, ta(s 'omo UU28 0UNIX to UNIX 2o*
8roto'o"34
9
(. 1strutura do UNIX
Um s(stema Un(1 A 'om*osto &as('amente de duas *artesH
nCcleo = o nQ'"eo do s(stema o*era'(ona", a *arte que re"a'(ona=se d(retamente
'om o hard!are, e que e1e'uta num es*a.o de mem7r(a *r()("eg(ado, agenda
*ro'essos, geren'(a a mem7r(a, 'ontro"a o a'esso a arqu()os e a d(s*os(t()os de
hard!are 0estes, *or me(o dos 'ontro"adores de d(s*os(to = dr()ers = e (nterru*.6es34
5 a'esso ao nQ'"eo A -e(to *or 'hamadas de s(stema, que s/o -un.6es -orne'(das
*e"o nQ'"eoN essas -un.6es s/o d(s*on(&("(zadas *ara as a*"('a.6es *or &(&"(ote'as
de s(stema 2 0"(&'34
pro&ramas de sistema = s/o a*"('a.6es, que e1e'utam em es*a.os de mem7r(a
n/o *r()("eg(ados, e que -azem a (nter-a'e entre o usu,r(o e o nQ'"eo4 2ons(stem,
*r(n'(*a"mente, deH
2on+unto de &(&"(ote'as 2 0"(&'3
She"" = um am&(ente que *erm(te que o usu,r(o d(g(te 'omandos4
8rogramas ut("(t,r(os d()ersos = s/o *rogramas usados *ara man(*u"ar arqu()os,
'ontro"ar *ro'essos, et'4
Am&(ente gr,-('o 0#UI3 #ra*h('s User Inter-a'e = e)entua"mente ut("(za=se
tam&Am um am&(ente gr,-('o *ara -a'("(tar a (ntera./o do usu,r(o 'om o s(stema4
$m um s(stema Un(1, o es*a.o de mem7r(a ut("(zado *e"o nQ'"eo A denom(nado es*a.o do
nQ'"eo ou su*er)(sor 0em (ng"UsH Kerne" S*a'e3N a ,rea de mem7r(a *ara os outros *rogramas A
denom(nada es*a.o do usu,r(o 0User S*a'e34
$ssa se*ara./o A um me'an(smo de *rote./o que (m*ede que *rogramas 'omuns
(nter-(ram 'om o s(stema o*era'(ona"4
10
8ara um me"hor entend(mento, o s(stema o*era'(ona" UNIX *ode ser re*resentado *e"as
quatro *artes &,s('as, 'omo ("ustrado na -(gura
2
a&a(1oH
>ernelD A o nQ'"eo do s(stema o*era'(ona", 'ontro"a o hard!are traduz(ndo 'omandos
UNIX em (nstru.6es de hard!are4 5 usu,r(o n/o tra&a"ha d(retamente 'om o Kerne"4
Sistema de ar6ui/osD A o modo do UNIX armazenar (n-orma.6es de qua"quer t(*o, 'omo
*or e1em*"o, gr,-('os, te1tos, et'4
S2ellD A um *rograma que atua 'omo (nter-a'e entre o Kerne" e o usu,r(o4
5plicati/osD s/o *rogramas que *odem ser (n)o'ados *e"o She"" *ara rea"(zar d()ersas
tare-as
2
Fonte da ilustrao: http://www.cenapad.unicamp.br/servicos/treinamentos/tutorial_uni/uni_tutor!".html
11
4. S2ell
5 SH$EE A um (nter*retador de 'omandos (nterat()o e 'onst(tu( a *r(n'(*a" (nter-a'e entre o
usu,r(o e o s(stema UNIX4 Na SUN h, do(s t(*os, que *odem ser 'hamados *e"o usu,r(oH o [sh[,
['sh[, [t'sh[, [&ash[, e outros4 V a *art(r do SH$EE que os *ro'essos *odem ser 'hamados4
SH133 *ossu( )ar(,)e(s que armazenam (n-orma.6es so&re o s(stema4 $"as de)em ser
(n('(a"(zadas "ogo no (n'(o da sess/o4 A"gumas )ar(,)e(s s/oH
*5<HD guarda o nome dos d(ret7r(os *erm(t(dos na &us'a de 'omandosN
HO"1H nome do d(ret7r(o de entrada do usu,r(oN
5 (ntAr*retador de 'omandos 0She""3 A a (nter-a'e entre o usu,r(o e o s(stema de e1*"ora./o,
da o seu nome (ng"Us FShe""G, que s(gn(-('a F'as'aG4
Ass(m, en'arregado de ser o (ntermed(,r(o entre o s(stema de e1*"ora./o e o usu,r(o gra.as
Ps "(nhas de 'omandos es'r(tas *or este, a -un./o do She"" 'ons(ste em "er a "(nha de 'omando,
(nter*retar o seu s(gn(-('ado, e1e'utar o 'omando e segu(damente dar o resu"tado nas sadas4
5 She"" A ass(m um arqu()o e1e'ut,)e", en'arregado de (nter*retar os 'omandos, transm(t(=
"os ao s(stema e de)o")er o resu"tado4 $1(stem ),r(os she""s, sendo o ma(s 'orrente o sh 0'hamado
FDourne she""G3, &ash 0FDourne aga(n she""G3, 'sh 0F2 She""G3, T'sh 0FTene1 2 she""G3, Csh 0FKorn
she""G3 e zsh 0F\ero she""G34 5 seu nome 'orres*onde gera"mente ao nome do e1e'ut,)e"4
2ada ut("(zador *ossu( um she"" *or *adr/o, que ser, "an.ado quando da a&ertura de uma
+ane"a de 'omando4 8or *adr/o, o She"" est, no -('he(ro de 'on-(gura./o Tet'T*ass!d no Q"t(mo
'am*o da "(nha que 'orres*onde ao ut("(zador4 V *oss)e" a"terar o she"" numa sess/o, e1e'utando
mu(to s(m*"esmente o -('he(ro e1e'ut,)e" 'orres*ondente, *or e1em*"oH
T&(nT&ash
Jane"a de 'omando 0r,*(da3
5 She"" (n('(a "endo a sua 'on-(gura./o g"o&a" 0num -('he(ro do d(re't7r(o Tet'T3,
segu(damente "endo a 'on-(gura./o *r7*r(a ao ut("(zador 0num -('he(ro es'ond(do, 'u+o nome
12
'ome.a *or um *onto, s(tuado no d(re't7r(o &,s('o do ut("(zador, ou se+a
ThomeTnom]de]"]ut("(sateurT4-('h(er]de]'on-(gurat(on3, *or Q"t(mo mostra a +ena"e de 'omando 0em
(ng"Us *rom*t3 do segu(nte modoH
ma'h(neHTre*erto(reT'ourant^
8or *adr/o, na ma(or *arte dos she""s, o *rom*t A 'om*osto *e"o nome da m,qu(na, segu(do de
do(s *ontos 0H3, do d(re't7r(o 'orrente, segu(damente de um 'ar,'ter que (nd('a o t(*o de ut("(zador
'one'tado H
EFG (nd('a que se trata de um ut("(zador norma"N
EHG (nd('a que se trata do adm(n(strador, 'hamado FrootG4
13
-. Noo de lin2a de comando no UNIX
Uma "(nha de 'omando A uma 'ade(a de 'ara'teres 'onst(tuda *or uma 'omando,
'orres*ondente a um arqu()o e1e'ut,)e" do s(stema ou um 'omando She"", &em 'omo os
argumentos 0*ar_metros3 o*'(ona(sH
"s =a" ThomeT+-T
No 'omando a'(ma, "s A o nome do 'omando, = A" e ThomeT+-T s/o argumentos4 5s
argumentos que 'ome.am *or F=F des(gnam=se o*.6es4 8ara 'ada 'omando e1(stem gera"mente
d()ersas o*.6es que *odem ser deta"hadas es're)endo um dos 'omandos segu(ntesH
'ommande ==he"*
'ommande =`
man 'ommande
$ntradaTsada standard, quando da e1e'u./o de um 'omando, um doss(U A 'r(ado4 $ste )a(
ent/o a&r(r trUs -"u1osH
stdinI 'hamado entrada standard, no qua" o *ro'esso )a( "er os dados de entrada4 8or
de-e(to, std(n 'orres*onde ao te'"adoN ST?IN A (dent(-('ado *e"o nQmero 0N
stdoutI 'hamado sada standard, no qua" o *ro'esso )a( es're)er os dados de sada4 8or
de-e(to, stdout 'orres*onde ao mon(torN ST?5UT A (dent(-('ado *e"o nQmero 1N
stderrI 'hamado erro standard, no qua" o *ro'esso )a( es're)er as mensagens de erro4
8or de-e(to stderr 'orres*onde ao mon(tor4 ST?$@@ A (dent(-('ado *e"o nQmero 9N
14
4. 5r6ui/os de iniciali7ao
No UNIX temos a"guns arqu()os que s/o e1e'utados todas as )ezes que a&r(mos uma She"",
ou quando (n('(a"(zamos uma no)a sess/o4 $stes arqu()os s/o 'hamados de arqu()os de
(n('(a"(za./o4 Atra)As de"es, o usu,r(o *ode *ersona"(zar a"guns 'omandos que ma(s ut("(za,
'o"o'ando a"guns aa*e"(dosa re-erentes a estes 'omandos, eTou a"terar o am&(ente de tra&a"ho da
sua *r7*r(a 'onta4
A"guns e1em*"os de arqu()os de (n('(a"(za./o s/oH
. S2ellD .login e .cshrc
9as2D .&ash]*ro-("e e 4&ashr'
5s arqu()os, 4"og(n e 4&ash]*ro-("e s/o e1e'utados *e"o She"" somente ao (n('(ar a sess/o4
$stes arqu()os de)em 'onter 'omandos que *re'(sam ser e1e'utados somente uma )ez durante o
"og(n4 5s arqu()os 4'shr' e 4&ashr' s/o e1e'utados toda )ez que uma no)a '7*(a do She"" -or
'hamada4
8ara e1em*"(-('ar a&a(1o temos um arqu()o 4'shr' que 'ontAm aa*e"(dosa *ara a"guns dos
'omandos do UNIX4 5 usu,r(o aa*e"(doua o 'omando h(stor de h4 Ass(m, ao (n)As de"e d(g(tar
h(stor, &asta d(g(tar h4 2omo esta a"tera./o -o( -e(ta no arqu()o 4'shr', este aa*e"(doa ser, ),"(do
todas as )ezes que e"e a&r(r uma no)a '7*(a do She""4
H ?etc?cs2rc
H cs2 con#i&uration #or all s2ell in/ocations.
limit coredumpsi7e ,%
alias 2 2istorJ
alias l ls KlL
alias psa Mps Nua O moreM
set 2istorJ P 1,,
sa/e 2istorJ P 1,,
A*7s mod(-('ar os arqu()os de (n('(a"(za./o, de)e=se usar o 'omando sour'e, *ara que as
mod(-('a.6es 'ome'em a -un'(onar4 Neste e1em*"o, temosH
Q source .cs2rc
?e)(do a (m*ort_n'(a dos arqu()os de (n('(a"(za./o, A a'onse"h,)e" que antes de e-etuar
qua"quer mod(-('a./o nos mesmos, -a.a uma '7*(a de seguran.a, *ara -a'("(tar a re*ara./o de
a"gum erro4
15
8. erenciamento de ar6ui/os
5 UNIX armazena toda (n-orma./o em arqu()os no d(s'o rg(do4 5s arqu()os no UNIX
*ossuem d(-erentes t(*osH arqu()o te1to, d(ret7r(o, e1e'ut,)e", et'4 $stes arqu()os tUm nome, nome
do *ro*r(et,r(o, res*e't()o gru*o a que *erten'e, *erm(ss6es de man(*u"a./o, tamanho e data da
Q"t(ma mod(-('a./o4 Atra)As do 'omando a"s ="aFa o&temos as (n-orma.6es so&re os arqu()os da
*asta atua"4
16
8ara -a'("(tar o geren'(amento de arqu()os, o UNIX ut("(za um s(stema de d(ret7r(os 'om
nomes *art('u"ares, 'ada qua" *ode 'onter arqu()os e su&d(ret7r(os *r7*r(os4 5s d(ret7r(os do
UNIX a*resentam uma h(erarqu(a re*resentada na -orma de uma ,r)ore (n)ert(da4
17
5 d(ret7r(o &ase do UNIX A 'hamado de root, sendo re*resentado *e"o sm&o"o aTa4 A&a(1o do
d(ret7r(o root, o UNIX 'r(a d()ersos su&d(ret7r(os 'om o&+et()os es*e'-('os, a segu(r s/o "(stados
os d(ret7r(os ma(s (m*ortantesH
T d(ret7r(o raz, root4
Tet' 'ontAm arqu()os de 'on-(gura./o do s(stema4
TD(n 'ontAm os *r(n'(*a(s e1e'ut,)e(s do s(stema 0&(n,r(os34
Tusr 'ontAm os *rogramas (nsta"ados, a*"('at()os, do'umenta./o do s(stema e dos
*rogramas4
Tde) 'ontAm (n-orma.6es so&re todos os d(s*os(t()os 0de)('es3 do s(stema4
Thome 'ontAm os d(ret7r(os de usu,r(os4
T"(& 'ontAm as &(&"(ote'as do s(stema4
Ttm* 'ontAm todos os arqu()os tem*or,r(os4
T)ar 'ontAm os arqu()os de (n-orma./o )ar(,)e", que s/o a"terados 'om -reqXUn'(a4
Ts&(n arqu()os de s(stema essen'(a(s4
T&oot 'ontAm arqu()os de &oot ou (n('(a"(za./o4
T"ostb-ound arqu()os re'u*erados4
Tmnt d(ret7r(o de a'esso aos dr()es, *onto de montagem de *art(./o tem*or,r(a4
8.1 5tri+utos e Nomes de 5r6ui/os
2on-orme te1to do I%$=US8
;
, no UNIX 'ada arqu()o 0(n'"us()e d(ret7r(os, que s/o
'asos *art('u"ares de arqu()os3, 'onta 'om um 'on+unto de atr(&utos de "e(tura, es'r(ta e
e1e'u./o, que s/o set,)e(s atra)As do 'omando 'hmod, e *odem ser e1(&(dos *e"o
'omandoH
s=IH
^ Is cI TD(nT'at
=r!1r=1r=1 1root root 16<R: ?e' 16 90H0> T&(nT'at
18
A str(ng cr!1r=1r=1 re*resenta os atr(&utos do arqu()oTD(nT'at4 5 *r(me(ro 'ara'ter 0=3
s(gn(-('a que se trata de um arqu()o regu"ar, em 'ontra*os(./o aos d(ret7r(os 0d3, de)('e
s*e'(a" -("es 0'3 e "(nCs s(m&7"('os 0I34 5s no)e 'ara'teres restantes (n-ormam as *erm(ss6es
de "e(tura, es'r(ta e e1e'u./o desse arqu()o re"at()as ao seu *ro*r(et,r(o, ao seu gru*o, e a
todos os dema(s4 5 *ro*r(et,r(o e o gru*o s/o (n-ormados "ogo P d(re(ta, e no 'aso s/o o
usu,r(o root e o gru*o root4
3
Uni: #onceitos e #omandos $%sicos
Note que no UNIX n/o e1(stem os atr(&utos de arqu()os o'u"tos0Fh(ddenG3 e do s(stema
0FsstemG3, su*ortados no %S=?5S4 N/o o&stante, arqu()os 'u+o *r(me(ro 'ara'tere A *onto
0F4G3 norma"mente s/o om(t(dos *e"o Is, a n/o ser que se ut("(ze a o*./o ca 0de Fa""G3,
'on-orme 'omentamos no (n'(o4
Um atr(&uto (m*ortantss(mo e1(stente no UNIX A o 'hamado setu(d, atra)As do qua"
um *ro'esso adqu(re ao ser e1e'utado os *r()("Ag(os do o!ner do arqu()o4 Isso A
-requentemente ut("(zado *or *rogramas que s/o d(s*arados *or usu,r(os n/o *r()("eg(ados
mas que *or a"gum mot()o ne'ess(tam dos *r()("Ag(os do su*er=usu,r(o, *or e1em*"oH
^ Is cI TusrTs&(nT***d
=r!sr=1r=1 1root D(n 10:RB6 A*r 9B 1>>R TusrTs&(nT***d
Sem os *r()("Ag(os de su*er=usu,r(o, um usu,r(o 'omum n/o 'onsegu(r(a 'on-(gurar a
(nter-a'e *** e nem a"terar a ta&e"a de rotas do s(stema, no momento em que se 'one'ta ao
*ro)edor (nternet4 Ass(m, o ***d, ao ser e1e'utado, requ(s(tar, os *r()("Ag(os do o!ner do
arqu()o, que no 'aso A o su*erusu,r(o, e dessa -orma e"e *oder, rea"(zar essas o*era.6es4
No UNIX )(a de regra s/o su*ortados nomes F"ongosG 0atA 6: ou Ps )ezes atA 9<6
'ara'teres3, e o F4G N/o A um se*arador entre o nome e a e1tens/o do arqu()o, mas um
'ara'tere 'omo os outros4 N/o o&stante, a no./o de Fsu-(1oG A ut("(zada (n-orma"mente *ara
-a'("(tar a (dent(-('a./o de a"guns -ormatos de arqu()os, *or e1em*"oH
4tar Ar'h()e *roduz(do 'om tar
4z(* Ar'h()e 'om*r(m(do *roduz(do 'om z(*
4\ Ar'h()e 'om*r(m(do 'om 'om*ress
4gz Ar'h()e 'om*r(m(do 'om gz(*
Ar'h()es 0o termo n/o tem 'orres*ondente em *ortuguUs3 s/o 'on'atena.6es de
),r(os arqu()os ou de su&,r)ores (nte(ras num Qn('o arqu()o4 $m UNIX, t(*('amente s/o
*roduz(dos 'om tarH
^ tar ')- Ttm*Tet'4tar T et'
19
^ tar t)- Ttm*Tet'4tar T et'
^ 'd Ttm*N tar 1)- et'4tar
5 *r(me(ro 'omando (r, 'r(ar o ar'h()e T tm*Tet'4tar, 'om*osto *or toda a
su&,r)oreTet'4 5 segundo e1(&(r, o 'onteQdo desse ar'h()e4 5 ter'e(ro (r, e1tra(r todo o seu
'onteQdo dentro do d(ret7r(o Ttm*, ou se+a, re'r(ar, aque"a mesma su&,r)ore 'omo uma
su&,r)ore do d(ret7r(o Ttm*4
20
!. erenciamento de *rocessos e 1scalonamento no UniN
Na )(s/o ma(s s(m*"es, *ro'esso A uma (nst_n'(a de um *rograma em e1e'u./o4 Um
*rograma, *ara ser e1e'utado, ne'ess(ta ser 'arregado na mem7r(aN a ,rea de mem7r(a
ut("(zada A d()(d(da em trUs *artesH '7d(go 0te1t3, dados (n('(a"(zados 0data3 e *("ha 0sta'C34
8or ser mu"t(tare-a, o Un(1 ut("(za uma estrutura 'hamada ta&e"a de *ro'essos, que
'ontAm (n-orma.6es so&re 'ada *ro'esso, ta(s 'omoH (dent(-('a./o do *ro'esso 08I?3, dono,
,rea de mem7r(a ut("(zada, estado 0status34
A*enas um *ro'esso *ode o'u*ar o *ro'essador em 'ada (nstante = o *ro'esso
en'ontra=se no estado [e1e'utando[ 0runn(ng34 5s outros *ro'essos *odem estar [*rontos[
0read3, aguardando na -("a de *ro'essos, ou ent/o est/o [dorm(ndo[ 0as"ee*3, es*erando
a"guma 'ond(./o que *erm(ta sua e1e'u./o4 Um *ro'esso em e1e'u./o *ode ser ret(rado
do *ro'essador *or duas raz6esH
ne'ess(ta a'essar a"gum re'urso, -azendo uma 'hamada de s(stema = neste 'aso, a*7s
sua ret(rada do *ro'essador, seu estado ser, a"terado *ara [dorm(ndo[, atA que o re'urso
se+a "(&erado *e"o nQ'"eoN
o nQ'"eo *ode (nterrom*er o *ro'esso 0*reem*./o3 = neste 'aso, o *ro'esso (r, *ara a
-("a de *ro'essos 0estado [*ronto[3, aguardando no)a o*ortun(dade *ara e1e'utar = ou
*orque a -at(a de tem*o esgotou=se, ou *orque o nQ'"eo ne'ess(ta rea"(zar a"guma tare-a4
$1(stem quatro 'hamadas de s(stema *r(n'(*a(s asso'(adas a *ro'essosH -orC, e1e', e1(t e
!a(tN
Lor% A usada *ara 'r(ar um no)o *ro'esso, que (r, e1e'utar o mesmo '7d(go 0*rograma3
do *rograma 'hamador 0*ro'esso=*a(3N
1Nec (r, determ(nar o '7d(go a ser e1e'utado *e"o *ro'esso 'hamado 0*ro'esso=-("ho3N
1Nit term(na o *ro'essoN
Rait -az a s(n'ron(za./o entre a -(na"(za./o do *ro'esso=-("ho e o *ro'esso=*a(4
!.1 9locos de .ontrole de *rocessos $9.*'
5s *ro'essos *ossuem um es*a.o de endere.amento que A d()(do em segmentos de
te1to, de dados e de *("ha4 5s segmentos de dados e de *("ha est/o sem*re no mesmo
es*a.o de endere.amento, *odendo se e1*and(r se*aradamente e, gera"mente, em
21
d(re.6es o*ostas4 5s de te1to, Ps )ezes est/o em um es*a.o de endere.amento d(-erente
dos dados e *("ha, e gera"mente A somente de "e(tura4
A estrutura de te1to reg(stra quantos *ro'essos est/o usando o segmento de te1to,
(n'"u(ndo um *onte(ro *ara uma "(sta de suas estruturas de *ro'esso, e onde a ta&e"a de
*,g(na *ara o segmento de te1to *ode ser en'ontrada no d(s'o, em 'aso de s!a**(ng4 A
estrutura de te1to em s( sem*re est, res(dente na mem7r(a *r(n'(*a"4 5s segmentos de
te1to, dados e de *("ha *ara os *ro'essos *odem ser su&met(dos ao s!a**(ng4 Yuando os
segmentos s/o traz(dos P mem7r(a, e"es s/o *ag(nados4
As ta&e"as de *,g(na gra)am (n-orma.6es do ma*eamento da mem7r(a )(rtua" do
*ro'esso *ara a mem7r(a -s('a4 A estrutura de *ro'esso 'ontAm *onte(ros *ara a ta&e"a de
*,g(na, *ara uso quando o *ro'esso est, res(dente na mem7r(a *r(n'(*a", ou o endere.o do
*ro'esso no d(s*os(t()o de s!a*, quando o *ro'esso *assa *e"o s!a**(ng4 ?e re"e)_n'(a
ma(s 7&)(a ao usu,r(o 'omum, o d(ret7r(o 'orrente e a ta&e"a de arqu()os a&ertos s/o
mant(dos na estrutura de usu,r(o4
Todo *ro'esso tem uma -ase de usu,r(o e uma -ase de s(stema4 Doa *arte do tra&a"ho
A -e(to no modo usu,r(o, mas, quando uma 'hamada ao s(stema A -e(ta, e"a A rea"(zada no
modo de s(stema4 As -ases nun'a e1e'utam ao mesmo tem*o4

Yuando um *ro'esso est, e1e'utando em modo s(stema, uma *("ha de Cerne" *ara
esse *ro'esso A usada, em )ez da *("ha de usu,r(o que *erten'e a esse *ro'esso4 A *("ha
de Cerne" e a estrutura de usu,r(o +untas 'om*6em o segmento de dados do s(stema *ara o
*ro'esso4
A 'hamada ao s(stema -orC a"o'a uma no)a estrutura de *ro'esso 0'om no)o
(dent(-('ador de *ro'esso3 *ara o *ro'esso -("ho, e 'o*(a a estrutura de usu,r(o4 N/o h, a
ne'ess(dade de uma no)a estrutura de te1to, os *ro'essos 'om*art("ham seu te1to4
2ontadores e "(stas a*ro*r(ados s/o s(m*"es segmentos de dados e de *("ha do *ro'esso
-("ho4 J, a 'hamada ao s(stema )-orC n/o 'o*(a os dados e a *("ha *ara o no)o *ro'esso, em
)ez d(sso, o no)o *ro'esso s(m*"esmente 'om*art("ha a ta&e"a de *,g(na do *ro'esso
anter(or4 Uma no)a estrutura de usu,r(o e de *ro'esso s/o 'r(adas4
Yuando o *ro'esso *a( A grande, )-orC *ode gerar e'onom(as su&stan'(a(s de tem*o
de 28U do s(stema4 No entanto, A uma 'hamada ao s(stema 'ons(dera)e"mente *er(gosa, +,
que qua"quer mudan.a na mem7r(a o'orre nos do(s *ro'essos atA que e1e')e o'orra4 A
'hamada ao s(stema e1e')e n/o 'r(a um no)o *ro'esso ou uma no)a estrutura de usu,r(o4
22
5 te1to e os dados do *ro'esso s/o su&st(tudos4 5s arqu()os a&ertos s/o *reser)ados,
&em 'omo a ma(or(a das *ro*r(edades de tratamento de s(na(s4

!.2 1scalonamento de .*U
5 es'a"onamento de 28U no UNIX -o( 'r(ado *ara &ene-('(ar os *ro'essos (nterat()os4
Todo *ro'esso tem uma *r(or(dade de es'a"onamento asso'(ada a e"e4 5s *ro'essos que
-azem IT5 de d(s'o ou outras tare-as (m*ortantes tUm *r(or(dades menores do que zero
0nQmero ma(ores (nd('am *r(or(dade menor3 e n/o *odem ser (nterrom*(dos *or s(na(s4 5s
*ro'essos de usu,r(os 'omuns tUm menos *r(or(dades de e1e'utar que os *ro'essos de
s(stema4
Yuanto ma(s tem*o de 28U um *ro'esso a'umu"a, menor 0ou ma(s *os(t()a3 se torna
a sua *r(or(dade, e )('e=)ersa4 Ass(m, e1(ste um -eed&a'C negat()o no es'a"onamento de
28U e A d(-'(" *ara um Qn('o *ro'esso usar todo o tem*o da 28U4 5 en)e"he'(mento de
*ro'essos A usado *ara e)(tar *ara"(sa./o4
N/o e1(ste *reem*./o de um *ro'esso *or outro dentro do Cerne"4 Um *ro'esso *ode
a&andonar a 28U *orque est, es*erando *or IT5 ou *orque sua -at(a de tem*o e1*(rou4
Yuando um *ro'esso es'o"he a&andonar a 28U, e"e A sus*enso em um e)ento4 A
e1*er(Un'(a sugere que o es'a"onador UNIX tem me"hor desem*enho 'om +o&s "(m(tados *or
IT5, 'omo *ode ser o&ser)ado quando e1(stem ),r(os Jo&s "(m(tados *or 28U em e1e'u./o4

5s *ro'essos s/o re*resentados *or duas estruturasH a estrutura de *ro'esso e a
estrutura de usu,r(o4 5 es'a"onamento de 28U A um a"gor(tmo 'om *r(or(dades 'a"'u"adas
d(nam('amente, que se reduz ao @ound=@o&(n, em 'asos e1tremos4
5 es'a"onamento @ound=@o&(n A rea"(zado *e"o me'an(smo de t(meout, que (n-orma
ao dr()er de (nterru*./o de '"o'C *ara 'hamar uma su&=rot(na do Cerne" a*or um (nter)a"o
es*e'-('o4 A su&=rot(na a ser 'hamada nesse 'aso 'ausa o rees'a"onamento e, em
segu(da, su&mete no)amente um t(meout *ara s( mesma4
23
). "1"S=I5 1 1=1N.I5"1N<O
As *r(me(ras )ers6es do Un(1 ut("(za)am &as('amente a tA'n('a de s!a**(ng *ara o
geren'(amento de mem7r(a4 A*enas a *art(r da )ers/o ;DS?, o Un(1 *assou a ut("(zar
*ag(na./o *or demanda4 Atua"mente, a grande ma(or(a das )ers6es do Un(1, tanto DS?
'omo Sstem M, (m*"ementa geren'(amento de mem7r(a )(rtua" *or *ag(na./o 'om
s!a**(ng4
5 es*a.o de endere.amento dos *ro'essos no Un(1 A d()(d(do em trUs segmentosH
te1to, dados e *("ha4 5 segmento de te1to 'orres*onde P ,rea onde est, o '7d(go
e1e'ut,)e" dos *rogramas, sendo uma ,rea *roteg(da 'ontra gra)a./o4 5 segmento de
te1to A est,t('o e *ode ser 'om*art("hado *or ),r(os *ro'essos, ut("(zando o esquema de
mem7r(a 'om*art("hada4 5 segmento de dados 'orres*onde Ps )ar(,)e(s do *rograma, 'omo
t(*os numAr('os, )etores e str(ngs4 A ,rea de dados A d(n_m('a, *odendo aumentar ou
d(m(nu(r durante a e1e'u./o do *rograma4 A *("ha armazena (n-orma.6es de 'ontro"e do
am&(ente do *ro'esso, 'omo *ar_metros *assados a um *ro'ed(mento ou sstem 'a""4 A
,rea de *("ha 'res'e d(nam('amente do endere.o )(rtua" ma(s a"to *ara o ma(s &a(1o4
5 Un(1 (m*"ementa o esquema de *ag(na./o *or demanda 'omo *o"t('a de &us'a de
*,g(nas4 Nesse esquema, *,g(nas do *ro'esso s/o traz(das do d(s'o *ara a mem7r(a
*r(n'(*a" a*enas quando s/o re-eren'(adas4 5 s(stema mantAm uma "(sta de *,g(nas "()res
'om todos os -rames d(s*on)e(s na mem7r(a e geren'(a os -rames de todos os *ro'essos
em uma "(sta de *,g(nas em uso4 Yuando um *ro'esso -az re-erUn'(a a uma *,g(na que n/o
se en'ontra na "(sta de *,g(nas em uso, o'orre um *age -au"t4 5 s(stema (dent(-('a se a
*,g(na est, na mem7r(a atra)As do &(t de )a"(dade4 Nesse 'aso, a gerUn'(a de mem7r(a
ret(ra uma *,g(na da "(sta de *,g(nas "()res e trans-ere *ara a "(sta de *,g(nas em uso4 2omo
*ode ser o&ser)ado, o Un(1 ut("(za uma *o"t('a g"o&a" de su&st(tu(./o de *,g(nas4
5 s(stema (m*"ementa uma )ar(a./o do a"gor(tmo FIF5 0F(rst In F(rst 5ut3 '(r'u"ar
'omo *o"t('a de su&st(tu(./o de *,g(nas4 $sse a"gor(tmo, 'onhe'(do 'omo T!o=Handed
2"o'C, ut("(za do(s *onte(ros, ao 'ontr,r(o do FIF5 '(r'u"ar, que (m*"ementa a*enas um4 5
*r(me(ro *onte(ro -('a P -rente do segundo um 'erto nQmero de -rames na "(sta de *,g(nas
em uso4 $nquanto o *r(me(ro *onte(ro des"(ga o &(t de re-erUn'(a das *,g(nas, o segundo
)er(-('a o seu estado4 Se o &(t de re-eren'(a 'ont(nuar des"(gado, s(gn(-('a que a *,g(na n/o
24
-o( re-eren'(ada desde o momento em que o *r(me(ro *onte(ro des"(gou o &(t, -azendo 'om
que essa *,g(na se+a se"e'(onada4
A*esar de estarem "(&eradas *ara outros *ro'essos, as *,g(nas se"e'(onadas
*ermane'em um 'erto tem*o (nta'tas na "(sta de *,g(nas "()res4 ?essa -orma, A *oss)e"
que as *,g(nas retornem aos *ro'essos de onde -oram ret(radas, e"(m(nando=se a
ne'ess(dade de a'esso a d(s'o4 5 deamon *age tam&Am A res*ons,)e" *or (m*"ementar a
*o"t('a de su&st(tu(./o de *,g(nas4
$m 'asos onde o s(stema n/o 'onsegue manter um nQmero su-('(ente de *,g(nas
"()res o me'an(smo de s!a**(ng A at()ado4 Nesse 'aso, o daemon s!a**er se"e'(ona,
(n('(a"mente os *ro'essos que est/o a ma(s tem*o (nat()os4 $m segu(da, o s!a**er
se"e'(ona dentre os quatro *ro'essos quem ma(s 'onsomem mem7r(a *r(n'(*a" aque"e que
est()er a ma(s tem*o (nat()o4 $sse me'an(smo A re*et(do atA que a "(sta de *,g(nas "()res
retorne ao seu tamanho norma"4
8ara 'ontro"ar todas as *,g(nas e "(stas na mem7r(a *r(n'(*a", a gerUn'(a de mem7r(a
mantUm uma estrutura de ma*eamento dos -rames na mem7r(a 0'ore ma*3, 'om
(n-orma.6es so&re todas as *,g(nas "()res e em uso4 5 'ore ma* -('a res(dente na *arte n/o
*ag(n,)e" da mem7r(a *r(n'(*a", +untamente 'om o Cerne" do s(stema4
25
1,. :eadloc%s
?ead"o'C A [Uma o'orrUn'(a em que 'ada *ro'esso do 'on+unto esta es*erando *or
um e)ento que somente outro *ro'esso *erten'ente ao 'on+unto *oder, -azer a'onte'er4[
@essa"ta que a ma(or *arte das s(tua.6es de dead"o'C en)o")e a es*era *or re'ursos e que,
*e"a de-(n(./o, nenhum *ro'esso do 'on+unto *oder, e)(tar que todos os *ro'essos do
'on+unto -(quem eternamente &"oqueados4
1,.1 .ondi0es para Ocorr;ncia de :eadloc%s
1Ncluso "Ctua, se nenhum re'urso -or atr(&udo e1'"us()amente a um Qn('o *ro'esso,
nun'a ha)er, dead"o'C4 5 *r(n'*(o A e)(tar a"o'ar um re'urso quando e"e n/o -or
a&so"utamente ne'ess,r(o e tentar assegurar que o menor nQmero *oss)e" de *ro'essos
*ossa de -ato requ(s(tar o re'urso4 $1em*"oH 5 uso de s*oo" *erm(t(ndo que somente um
re'urso da (m*ressora se+a usado *or *ro'esso4
.ondio de posse e esperaI &asta requerer que todos os *ro'essos so"('(tem os seus
re'ursos antes de (n('(ar a e1e'u./o4 No entanto, um *ro'esso nun'a tem que es*erar
*or aqu("o que *re'(sa4 Um dos *ro&"emas A n/o *oder n/o sa&er quantos e qua(s
re'ursos )/o *re'(sar no (n'(o da e1e'u./o e tam&Am reter re'ursos que outros
*ro'essos *oder(am estar usando4
Nen2uma preempoI ser(a tomar o re'urso a -or.a, 'ontudo A uma so"u./o *ou'o
*rom(ssora, de 'erta -orma (n)(,)e"4
1spera circularI *ode ser e"(m(nado de ),r(as mane(ras, uma de"as A ter uma regra que
d(z que um *ro'esso A (nt(tu"ado somente *ara um Qn('o re'urso em qua"quer momento,
ou atr(&u(r uma ordem *ara 'hamada *ara aque"e re'urso4 149464 Im*ed(mento do
Im*asse4 Anter(ormente o dead"o'C n/o -o( e)(tado *e"a (m*os(./o de regras ar&(tr,r(as
aos *ro'essos, mas *e"a an,"(se 'u(dadosa de 'ada so"('(ta./o de re'urso *ara )er se
e"e *oder(a ser 'on'ed(do seguramente4
26
8ara e)(tar d(nam('amente o dead"o'C *odem=se adotar a"gumas so"u.6esH
A"o'a./o (nd()(dua" de re'ursos = P med(da que *ro'esso ne'ess(taN
$s'a"onamento 'u(dadoso c (m*6es um a"to 'usto e 'onhe'(mento *rA)(o dos
re'ursos que ser/o ut("(zadosN
A"gor(tmosH
1,.2 5l&oritmo do 5/estru7
$ste [A"gor(tmo do A)estruz[ A uma -orma humorst('a do autor Tanen&aum *ara
'omentar a a&ordagem dos s(stemas UNIX, que s(m*"esmente (gnoram o *ro&"ema,
em raz/o da &a(1ss(ma *ro&a&("(dade de o'orrer ta" s(tua./o
;
4
1,.( 5l&oritmo do 9an6ueiro
5 a"gor(tmo do &anque(ro 0a"gor(tmo de ?(+Cstra3, 'ons(dera 'ada requ(s(./o no
momento em que e"a o'orre, )er(-('ando se essa requ(s(./o "e)a a um estado seguroN
Se s(m, a requ(s(./o A atend(da, se n/o o atend(mento A ad(ado *ara outro momentoN
8rem(ssas adotadas *or um &anque(ro *ara garant(r ou n/o 'rAd(to 0re'ursos3 *ara
seus '"(entes 0*ro'essos34 Nem todos os '"(entes 0*ro'essos3 *re'(sam de toda a "(nha
de 'red(to 0re'ursos3 d(s*on)e" *ara e"es4
3
Fonte da Ilustrao: http://www.in&.u&r's.br/'ppd/disc/in&())*)/trabalhos/sem+(((!+/deadloc,/deadloc,.htm
27
R1 R2
R3
P P P
Mantagens e des)antagens do a"gor(tmo do &anque(roH = 8ou'o ut("(zado, *o(s A
d(-'(" sa&er qua(s re'ursos ser/o ne'ess,r(osN = 5 nQmero de *ro'essos A d(n_m('o e
*ode )ar(ar 'onstantemente, tornando o a"gor(tmo 'ustosoN = Na teor(a o a"gor(tmo A
7t(mo4
1,.4 <ratamento de :eadloc%s
Ignorar o *ro&"emaH a"gor(tmo da a)estruz 0Tanen&aum34
?ete'tar e re'u*erar4
$)(tar 0a)o(dan'eH so"u./o d(n/m('a34
8re)en(r 0*re)ent(onH so"u./o est,t('a34
5 Un(1 tenta e)(tar s(tua.6es de dead"o'C, mas n/o as e"(m(na 'om*"etamente4
1,.- :etectar e =ecuperar
?ete'tar dead"o'C 'ons(ste em um a"gor(tmo que &as('amente testa se h, a"guma
ordem de term(na./o dos *ro'essos e so"('(ta./o de re'ursos4
@e'u*erar a s(tua./oH
*reem*./o de re'ursosN
ro""=&a'C de *ro'essosN
term(na./o de *ro'essos4
28
11. <2reads no UNIX
2on-orme %(gue" 8(menta %onte(ro
4
, somente ha *ou'o tem*o a es*e'(-('a./o 85SIX
da A8I do Un(1 de-(n(u uma (nter-a'e standard *ara a 'r(a./o e term(na./o de threads4 $sta
(nter-a'e A gera"mente (m*"ementada 'omo uma &(&"(ote'a 0"(&*threads4a3, *odendo ou n/o
ser d(retamente su*ortada *e"o Cerne" do s(stema o*era'(ona"4 $1(stem )ers6es do Un(1 em
que os threads s/o d(retamente (m*"ementados no Cerne" e es'a"onados
(nde*endentemente s/o os 0Cerne" "e)e" threads3, enquanto que em outras )ers6es o que o
Cerne" )U s/o a*enas *ro'essos, Fe1(st(ndoG os threads un('amente na &(&"(ote'a de su*orte,
e es'a"onados *ara e1e'u./o a*enas na F-at(a de tem*oG dos res*e't()os *ro'essos s/o os
0user "e)e" threads34
Yuando um *rograma 'ome.a a e1e'utar na -un./o ma(n03 'onst(tu( um no)o
*ro'esso e *ode 'ons(derar=se que 'ontAm +, um thread4 No)os threads s/o 'r(ados atra)As
da 'hamada de um ser)(.o e 'ome.am a e1e'utar numa -un./o que -az *arte do '7d(go do
*rogramas4

2ada no)o thread A re*resentado *or um (dent(-('ador 0thread (dent(-(er ou t(d3 de t(*o
*thread]t4 V ne'ess,r(o *assar o endere.o de uma )ar(,)e" desse t(*o, 'omo *r(me(ro
*ar_metro de *thread]'reate03, *ara re'e&er o res*e't()o t(d4 5 segundo *ar_metro ser)e
*ara (nd('ar uma sAr(e de atr(&utos e *ro*r(edades que o no)o thread de)er, ter, se -orne'er
o )a"or NUEE, o no)o thread ter, as *ro*r(edades *or *adr/o, adequadas na ma(or *arte dos
'asos4 5 ter'e(ro *ar_metro (n-orma a -un./o de (n'(o do thread4 V uma -un./o que de)e
e1(st(r 'om o segu(nte *rot7t(*oH
4
Fonte: -i'uel .imenta -onteiro ! /istemas 0perativos
29
)o(d W nome]da]-un./o0)o(d Warg34
A -un./o a'e(ta um a*ontador genAr('o 'omo *ar_metro, que ser)e *ara *assar
qua"quer (n-orma./o, e retorna tam&Am um a*ontador genAr('o, em )ez de um s(m*"es
'7d(go de term(na./o4 Se o )a"or de retorno -or usado, A ne'ess,r(o que a*onte *ara a"go
que n/o de(1e de e1(st(r quando o thread term(na4 F(na"mente o quarto *ar_metro A o )a"or
do a*ontador a ser *assado P -un./o de (n('(o, 'omo seu *ar_metro4 Uma )ez 'r(ado o no)o
thread e"e *assa a e1e'utar 'on'orrentemente 'om o *r(n'(*a" e 'om outros que *or)entura
se+am 'r(ados4
Yuando um thread term(na *ode retornar um a*ontador *ara uma ,rea de mem7r(a
que 'ontenha qua"quer t(*o de resu"tado4 $ssa ,rea de mem7r(a de)e so&re)()er o thread,
ou se+a, n/o *ode ser nenhuma )ar(,)e" "o'a", *orque essas de(1am de e1(st(r quando o
thread term(na4
8or *adr/o, quando um thread term(na, o seu )a"or de retorno 0o a*ontador genAr('o3
n/o A destrudo, -('ando ret(do em mem7r(a atA que a"gum outro thread e1e'ute um
*thread]+o(n03 so&re e"e4 V *oss)e" 'r(ar threads que n/o s/o +o(na&"e e que *or (sso,
quando term(nam, "(&ertam todos os seus re'ursos, (n'"u(ndo o )a"or de retorno4 No entanto
n/o A *oss)e" es*erar *or esses threads 'om *thread]+o(n034
Yuando se 'r(a um no)o thread A *oss)e" es*e'(-('ar uma sAr(e de atr(&utos e
*ro*r(edades *assando=os a *thread]'reate03 atra)As de uma )ar(,)e" do t(*o
*thread]attr]t4 $ssa )ar(,)e" ter, de ser *re)(amente (n('(a"(zada 'om o ser)(.o
*thread]attr](n(t03 e de*o(s mod(-('ada atra)As da 'hamada de ser)(.os es*e'-('os *ara
'ada atr(&uto
5
4
5
Fonte da ilustrao: https://computin'.llnl.'ov/tutorials/pthreads/
30
12. >ernel
2on-orme te1to do I%$=US8
6
, o Kerne" do Un(1 0e de )(rtua"mente qua"quer outro
s(stema o*era'(ona"3 *ossu( um *a*e" de que 'on)Am ter no.6es, a -(m de se *oder
'om*reender me"hor o -un'(onamento do s(stema, rea"(zar d(agn7st('os e *ro'ed(mentos
adm(n(strat()os 'omo ad(./o de 'om*onentes de hard!are4 A"gum 'onhe'(mento do *a*e"
do Kerne" A (m*ortante tam&Am *ara se ter uma no./o ma(s '"ara do uso de arqu()os
es*e'(a(s e do d(ret7r(o ?proc.
5 Kerne" ord(nar(amente res(de no -("esstem 'omo um outro arqu()o qua"quer4 No
E(nu1, e"e A em gera" o arqu()o ?/nlinu7 ou ?+oot?/mlinu7I ou a(nda ?+oot?/mlinu7K2.,.(4.
$"e A um *rograma, a(nda que um *ou'o d(-erente dos *rogramas de a*"('a./o'om o
?9in?Is. 5 Kerne" A 'arregado e *osto em e1e'u./o no &oot da m,qu(na, e a sua e1e'u./o
somente se en'erra 'om o s2utdoTn.
?e -orma s(m*"(-('ada, o seu *a*e" A num *r(me(ro momento re'onhe'er o hard!are e
(n('(a"(zar os res*e't()os dr()ers4 $m segu(da e"e entra num estado adm(n(strat()o onde
-un'(ona 'omo (ntermed(,r(o entre as a*"('a.6es e o hard!are4 8or e1em*"o, quando uma
a*"('a./o ne'ess(ta a"o'ar ma(s mem7r(a, e"a so"('(ta (sso ao Kerne"4 V o Kerne" que d(str(&u(
o tem*o de 28U aos ),r(os *ro'essos at()os4 V e"e que ha&(tua"mente rea"(za a entrada e
sada de dados nas d(-erentes *ortas de 'omun('a./o4
V *or (sso que a ad(./o de hard!are no)o a uma m,qu(na *ode requerer a
su&st(tu(./o ou ao menos a re'on-(gura./o do Kerne"4 5s Kerne"s ma(s re'entes do E(nu1
o-ere'em ),r(os me'an(smos de 'on-(gura./o que os tornam so&remane(ra -"e1)e(s, a
*onto de ser rara a ne'ess(dade de su&st(tu(./o do Kerne"4 5s do(s me'an(smos
-undamenta(s de se 'on-(gurar a o*era./o do Kerne" s/o a *assagem de *ar_metros no
momento do &oot 0rea"(zada *e"o EIE53 e a 'arga de m7du"os, -e(ta manua"mente ou *or
me'an(smos autom,t('os 'omo o >erneld.
5 d(,"ogo entre as a*"('a.6es e o Kerne" rea"(za=se -undamenta"mente atra)As dos
sstem 'a""s, que s/o ser)(.os que o Kerne" o-ere'e, 'omo *or e1em*"o read$2'. 5s de)('e
s*e'(a" -("es s/o mane(ras de se re-er(r ao Kerne" os d(s*os(t()os -s('os ou "7g('os 'om que
se *retende o*erar, *or e1em*"o a *r(me(ra *orta ser(a" ou a segunda un(dade de -(ta, ou o
d(s'o *r(n'(*a" do s(stema4 Ne"es, o (m*ortante n/o A o nome, mas s(m os nQmeros de
d(s*os(t()os ou ma(s *re'(samente o ma+or e o m(nor de)('e num&ers4 ?e)('e s*e'(a" -("es
s/o 'r(ados atra)As do 'omando m%nod, ou atra)As de (nter-a'es ma(s am(g,)e(s, 'omo o
'omando "5>1:1V.
1
Fonte: Uni: #onceitos e #omandos $%sicos
31
5s s(stemas Un(1=E(Ce ma(s re'entes o-ere'em um outro me'an(smo de 'omun('a./o
'om o Kerne", que A o -("esstem ?proc. As entradas desse -("esstem s/o *seudo=arqu()os
'u+o 'onteQdo re-"ete o estado atua" de (nQmeras estruturas de dados (nternas do Kerne"4
Ass(m, um *rograma de a*"('a./o *assa a *oder 'omun('ar=se 'om o Kerne" atra)As dos
me'an(smos ord(n,r(os de "e(tura e es'r(ta de arqu()os4
$m mu(tos 'asos a 'omun('a./o entre as a*"('a.6es e o Kerne" A (ntermed(ada *or
&(&"(ote'as, *r(n'(*a"mente a li+c. $"as o-ere'em ser)(.os de ma(s a"to n)e" que os sstem
'a""s do Kerne", tornando ma(s s(m*"es o tra&a"ho de *rograma./o4
32
1(. :ispositi/os de 1?S
8ro'essos num s(stema UNIX ha&(tua"mente *ossuem trUs d(s*os(t()os de IT5
F*adr6esG, a Fsada *adr/oG, a Fentrada *adr/oG e a Fsada de errosG4 5 Un(1 *erm(te que
esses d(s*os(t()os 0e outros3 se+am de-(n(dos no momento da e1e'u./o, *odendo es'o"her o
'onso"e, um F*(*eG 0pipe A um 'ana" de 'omun('a./o FIF50fist in, first out = *r(me(ro a entrar,
*r(me(ro a sa(r3 em modo s(m*"e1 que *ode ser usado *ara 'omun('a./o un(d(re'(ona" entre
*ro'essos4 Uma (m*"ementa./o A gera"mente (ntegrada no su&s(stema de entrada e sada
IT5 de um s(stema o*era'(ona"3, a (m*ressora, um '(r'u(to )(rtua" de rede 'one'tando duas
m,qu(nas, uma "(nha -s('a ser(a" ou outras 'o(sas4
Usu,r(os de "SK:OS ta")ez +, tenham -e(to 'o(sas 'omo 2d?I@d8@N, *ara (m*r(m(r a
sada de um 'omando4 $ssa s(nta1e -o( herdada do UNIX da a seme"han.a ^ Is cIdde)T"*14
Natura"mente tanto no %S=?5S quanto no Un(1 e1(stem -ormas ma(s a*ro*r(adas *ara se
(m*r(m(r a"go, mas no momento esse e1em*"o 'on)Am4 She"" do est("o FDourneG 0sh,
Csh,&ash3 *erm(tem red(re'(onamento da sada de erros atra)As da segu(nte s(nta1eH
F rm ?+in?Is 2U?tm*Terror
5 F9G de)e=se a que, (nternamente, a sada de erros 'orres*onde ao des'r(tor 9 0o 0 A
a entrada *adr/o e o 1 A a sada *adr/o34 A entrada *ode ser red(re'(onada de -orma
seme"hanteH
F Tc V?tm*Terror
5s she""s Un(1 o-ere'em um re'urso *ara a "(ga./o da sada *adr/o de um *ro'esso
'om a entrada *adr/o de outro, 'hamado *(*eH
^ Ise!'
No e1em*"o a sada do Is est, sendo usada 'omo entrada do !'4 Note que o she""
d(s*ara os do(s *ro'essos ao mesmo tem*o4 Se o *r(me(ro est()er *roduz(ndo sada numa
ta1a su*er(or P que o segundo "U, o s(stema o*era'(ona" *ara"(zar, o *r(me(ro sem*re que o
&u--er que armazena o tr,-ego est()er 'he(o4 Isso s(gn(-('a, *or e1em*"o, que um *(*e *ode
ser usado mesmo quando o )o"ume tota" da sada do *r(me(ro *ro'esso A
e1traord(nar(amente grande, *or e1em*"o quando se tenta "o'a"(zar (n-orma.6es de arqu()os
de"etados atra)As de um dum* de todos os setores do d(s'o4
33
14. .omunicao Serial e *aralela
5 Un(1 a*resenta as *ortas de 'omun('a./o ser(a(s e *ara"e"as na -orma de arqu()os
es*e'(a(s4 J, )(mos um e1em*"o de seu uso no (tem red(re'(onamento da $ntrada e da
Sada, em que -(zemos a (m*ress/o da sada de um 'omando4
Na 'omun('a./o entre do(s 'om*utadores, ut("(za=se -requentemente *ortas ser(a(s, e
Ps )ezes tam&Am as *ara"e"as4 $m mu(tos 'asos, quando a d(st_n'(a entre os do(s A grande,
ha)er, uso de modems e e)entua"mente tam&Am de uma "(nha te"e-Ln('a4 Atra)As de trUs
e1em*"os *r,t('os *ode=se ter um &om *anorama do uso de 'omun('a./o ser(a" no UNIX4
2omo os *ro'ed(mentos )ar(am um *ou'o de*endendo das *"ata-ormas em uso, s7 A
*oss)e" (nd(',="os de -orma genAr('aH
a3 Ad(./o de um term(na"
2one'tar a ser(a" do term(na" 'om a da m,qu(na UNIXN
?(s*arar no Un(1 a )ar(ante do gett d(s*on)e"N
Eogar no term(na"N
Trans-er(r arqu()os se o term(na" o-ere'er esse re'urso4
&3 2one1/o a um s(stema remoto
?(s*arar a"gum emu"ador de term(na" d(s*on)e"N
Se"e'(onar a ser(a" em que o modem est, 'one'tadoN
2on-(gurar o modo de o*era./o da ser(a" 0)e"o'(dade, &(ts3N
2on-(gurar o modem atra)As de 'omandos AT, se ne'ess,r(oN
Instru(r o modem *ara d(s'ar, 'om AT?
Aguardar a nego'(a./oN
Eogar4
'3 $sta&e"e'(mento de um "(nC ***
$1e'utar a 'one1/o ao s(stema remoto 'omo (nd('ada a'(maN
In('(ar o *** no s(stema remotoN
?(s*arar o ***d "o'a"menteN
$m 82s, os 'one'tores e1ternos das *ortas ser(a(s s/o 'one'tores ?D=> ou ?D=9<
ma'ho, e os das *ara"e"as s/o ?D=9< -Umea4
34
1-. .on#i&urao do <.*?I*
Numa rede T28TI8, a 'ada m,qu(na est, asso'(ado um nQmero I8, que A um (nte(ro
de ;9 &(ts, norma"mente es'r(to na -orma de o'tetos, 'omo 1>9416R404<4 A 'ada m,qu(na
est, asso'(ado em um nome, 'omo *or e1em*"o marte ou *(menta4
A atr(&u(./o tanto do nQmero quanto do nome A -e(ta durante o *ro'esso de &oot, a
*art(r da es*e'(-('a./o de"es -e(ta atra)As da ed(./o manua" de arqu()os de 'on-(gura./o
eTou de uso de a*"('at()os de geren'(amento do s(stema es*e'-('os de 'ada *"ata-orma4
Na )erdade, o nQmero I8 n/o est, asso'(ado P m,qu(na, mas a uma determ(nada
(nter-a'e de"a4 M(a de regra, a (nter-a'e en)o")(da A a ethernet4 Tanto *ara e1(&(r quanto *ara
setar manua"mente o nQmero I8 de uma (nter-a'e usa=se o 'omando (-'on-(g4 8or e1em*"o,
o 'omandoH ^ (-'on-(g ca, (r, "(star todas as (nter-a'es 'om (n-orma.6es de 'ada uma4 A
(nter-a'e ethernet 'ostuma 'hamar=se "e0 0So"ar(s3 ou eth0 0E(nu134 A"Am do ethernet, A
'omum usar=se *ortas ser(a(s *ara 'r(ar (nter-a'es T28TI8, *r(n'(*a"mente *ara 'r(ar "(nCs
'om "(nhas te"e-Ln('as4 As *"a'as ethernet 'ostuma o-ere'er do(s ou ma(s t(*os de
'one'tores4 $"a *ode ou n/o des'o&r(r automat('amente qua" est, em uso4 $m 'aso
negat()o, )o'U de)er, (n-orm,="a, o que ha&(tua"mente A -e(to atra)As de um so-t!are de
'on-(gura./o que a'om*anha a *"a'a4
5 *asso segu(nte A a 'on-(gura./o das rotas4 Atra)As de"as a m,qu(na sa&e *or onde
en)(ar datagramas a -(m de que e"es 'heguem em seus dest(nos4 $qu()a"e de 'erta -orma P
s(na"(za./o do tr,-ego ur&ano, 'om *"a'as (nd('at()as da d(re./o a tomar *ara at(ng(r 'ada
dest(no 08onte do E(m/o P esquerda, ou A)en(da dos Dande(rantes em -rente, et'34
2ada rota en)o")e um dest(no, uma m,s'ara, um gate!a e uma (nter-a'e4 8ode=se
e1(&(r todas e"as atra)As do 'omando netstatH ^ netstat cr
?est(nat(on #ate!a #enmasC I-a'e
1>9416R4140 W 9<<49<<49<<40 eth0
19B404040W 9<<404040 Io
?e-au"t 1>9416R4141 0404040 eth0
Su*onha que )o'U dese+a at(ng(r a m,qu(na 1>9416R414B4 A a*"('a./o da ta&e"a de
rotas (nd('a, atra)As de uma o*era./o e &(t a &(t entre 1>9416R414B e a m,s'ara
9<<49<<49<<40, que de)e ser usada a *r(me(ra rota4 2omo n/o ha gate!a, a 'omun('a./o
ser, -e(ta d(retamente atra)As do ethernet4
35
Se o dest(no agora -or 90041;64;<46<, as duas *r(me(ras rotas n/o nos ser)(r/o
0e1*er(mente a*"('ar o e 'omo no 'aso anter(or34 8ortanto ser, usada a rota de-au"t, e 'omo
e"a es*e'(-('a um gate!a, a 'omun('a./o ter, que ser -e(ta atra)As de"e4 Ass(m toda )ez
que se *retender en)(ar a"guma (n-orma./o *ara o 90041;64;<46<, esta ser, en)(ada antes
*ara o gate!a 1>9416R4141, na es*eran.a de que este 'ons(ga rote,="a *ara o seu dest(no4
36

T
.%(gue" 8(menta %onte(ro
6
, somente ha *ou'o tem*o a es*e'(-('a./o 85SIX da A8I
do Un(1 de-(n(u uma (nter-a'e standard *ara a 'r(a./o e term(na./o de threads4 $sta
(nter-a'e A gera"mente (m*"ementada 'omo uma &(&"(ote'a 0"(&*threads4a3, *odendo ou n/o
ser d(retamente su*ortada *e"o Cerne" do s(stema o*era'(ona"4 $1(stem )ers6es do Un(1 em
que os threads s/o d(retamente (m*"ementados no Cerne" e es'a"onados
(nde*endentemente s/o os 0Cerne" "e)e" threads3, enquanto que em outras )ers6es o que o
Cerne" )U s/o a*enas *ro'essos, Fe1(st(ndoG os threads un('amente na &(&"(ote'a de su*orte,
e es'a"onados *ara e1e'u./o a*enas na F-at(a de tem*oG dos res*e't()os *ro'essos s/o os
0user "e)e" threads34
6
Fonte: -i'uel .imenta -onteiro ! /istemas 0perativos
37
11. =e#er;ncias 9i+lio&r#icas
Krahe, F4 N()e"amento UNIX4 ?(s*on)e" emH
f htt*HTT!!!4*o*=rs4rn*4&rTo)n(Tun(1TKe"'ome4htm"d4 A'esso em 9<T10T9010
%a"ano)('z, A4 M4 at a""4 ?ead"o'C 0Tanenbaum X Silberschatz) ?(s*on)e" emH
fhtt*HTT!!!4(n-4u-rgs4&rTg**dTd(s'T(n-011<1Ttra&a"hosTsem900=9Tdead"o'CTdead"o'C4htmd A'esso
em 9BT10T9010
%onte(ro, %84 S(stemas 5*erat()os4 ?(s*on)e" emH
f htt*HTT*ag(nas4-e4u*4*tTg*-sTau"asTso9001Ta*T'a*:4*d-d4 A'esso em 9BT10T9010
38

Você também pode gostar