Vous êtes sur la page 1sur 110

Programacin de sistemas operativos

Programa desarrollado

Carrera: Desarrollo de Software

Cuarto cuatrimestre

Programa de la asignatura: Programacin de Sistemas Operativos

Clave: 160920 1! " 1!0920 1!

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

Programacin de sistemas operativos


Programa desarrollado

#ndice

$% $&'O()*C$+& ,-&-(*. D- .* *S$,&*/0(* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1


a. Ficha de i dentif i caci ................................ n ................................ ................................ ............. 7 !. Descri"ci n ................................ ................................ ................................ ............................... 7 c. F#nda$entaci n te rica de la asignat#ra ................................ ................................ ............ 8 d. %ro" sito ................................ ................................ ................................ ................................ ...9 e. Co$"etencia&s' a desarrol l ar ................................ ................................ ................................ .9 f. Te$ario ................................ ................................ ................................ ................................ .....10 g. (etodologa de tra!a)o ................................ ................................ ................................ ......... 11 h. E*al#aci n ................................ ................................ ................................ ............................... 12 i . F#entes de cons#lta ................................ ................................ ................................ ................ 13

$$% D-S*((O..O D- CO&/-&$DOS PO( 0&$D*D%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1 0&$D*D 1% *D)$&$S/(*C$+& D- P(OC-S*DO(2 )-)O($* 3 D$SPOS$/$4OS -"S %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1
%ro" sito ................................ ................................ ................................ ................................ ...... 15 Co$"etencia es"ecf i ca ................................ ................................ ................................ ............ 15 %resentaci n de l a #nidad ................................ ................................ ................................ ......... 15 +ct i * i dad 1. %resentaci ................................ n ................................ ................................ .......... 16 1.1. %rocesador................................ ................................ ................................ ........................... 16 1.1.1. Def i nici n y conce"tos ................................ ................................ ................................ ....18 1.1.2. %rocesos e hilos ................................ ................................ ................................ .............. 19 1.1.,. (#lt i "rocesa$iento ................................ ................................ ................................ ......... 24 1.1.-. %aralel i s$o ................................ ................................ ................................ ....................... 24 +ct i * i dad 2. +d$in i straci n de l %rocesador ................................ ................................ ........... 25 1.2. (e$or i a ................................ ................................ ................................ ............................... 26

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

Programacin de sistemas operativos


Programa desarrollado

1.2.1. +d$ i nistraci n de la $e$oria ................................ ................................ ....................... 26 1.2.2. .erar/#a de la $e$oria ................................ ................................ ................................ 28 1.2.,. (#lt i "rogra$aci n con "art i ciones f i) as y *aria!les ................................ ................... 28 1.2.-. (e$or i a rea................................ l ................................ ................................ .................... 30 1.2.0. (e$or i a * i rt#a l ................................ ................................ ................................ ................ 32 +ct i * i dad ,. (a"a conce"t#a l de l $ane)o de l a $e$or ia ................................ .................... 33 1.,. Entrada 1 Sal i da ................................ ................................ ................................ ................... 34 1.,.1. %rinci"ios de hardware y software de I 1 2................................ ................................ ..35 1.,.2. D i s"osit i *os y $ane)adores de dis"osit i ................................ *os ................................ 36 1.,.,. (ecanis$os y f#nciones de $ane)adores de dis"osit i *os ................................ ....... 38 1.,.-. Estr#ct#ra de datos en el $ane ) o de dis"os i t i ................................ *os ...................... 41 1.,.0. 2"eraciones de E 1 S ................................ ................................ ................................ ...... 43 +ct i * i dad -. D i s"osit i *os de Entrada y Sal i da ................................ ................................ ........ 45 +#toe*al#aci n ................................ ................................ ................................ ........................... 46 E* i denc i a de a"rendi3a)e. +d$inistraci n de l "rocesador, $e$oria y l os dis"osit i *os de entrada y sal i da ................................ ................................ ................................ ........................... 46 C i erre de l a #n i dad ................................ ................................ ................................ ..................... 47 %ara sa!er $4s................................ ................................ ................................ ........................... 47 F#entes de cons#lta ................................ ................................ ................................ ................... 48

0&$D*D 2% *D)$&$S/(*DO( D- S$S/-)*S D- *(C5$4OS%%%%%%%%%%%%%%%%%%%%%%%%%% 9


%resentaci n de l a #nidad ................................ ................................ ................................ ......... 49 %ro" sito ................................ ................................ ................................ ................................ ...... 49 Co$"etencia es"ecf i ca ................................ ................................ ................................ ............ 50 2.1. Siste$as de +rchi*os ................................ ................................ ................................ ......... 50 2.1.1. Conce"to................................ ................................ ................................ ........................... 52

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

Programacin de sistemas operativos


Programa desarrollado

2.1.2. .erar/#a de datos ................................ ................................ ................................ .......... 53 +ct i * i dad 1. Siste$a de archi*o ................................ ................................ ............................... 56 2.2. T i "o de +rchi*os ................................ ................................ ................................ ................. 56 2.2.1. 5ea l................................ ................................ ................................ ................................ ...58 2.2.2. 6 i rt#a................................ l ................................ ................................ ................................ 58 2.2.,. Co$"onentes ................................ ................................ ................................ ................... 59 +ct i * i dad 2. T i "os de archi*os $4s co$#nes en s i ste$a o"erat i *o ................................ ..60 2.,. 2rgan i 3aci n de l siste$a de archi*os, l g i ca y fsica ................................ ................... 61 2.,.1. 2"eraciones con archi*os................................ ................................ .............................. 63 2.,.2. I$"le$entaci n de archi*os ................................ ................................ .......................... 64 +ct i * i dad ,. (a"a conce"t#a l de l a organ i 3aci n de l siste$a de archi*os ...................... 67 +#toe*al#aci n ................................ ................................ ................................ ........................... 68 E* i denc i a de a"rendi3a)e. (ane)o de archi*os en 7in#x &de!an, fedora, 8!#nt#' y 9 i ndows ................................ ................................ ................................ ................................ ....... 68 C i erre de la #n i dad ................................ ................................ ................................ ..................... 69 %ara sa!er $4s................................ ................................ ................................ ........................... 69 F#entes de cons#lta ................................ ................................ ................................ ................... 69

0&$D*D 6% S-,0($D*D 3 P(O/-CC$+&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 11


%resentaci n de l a #nidad ................................ ................................ ................................ ......... 71 %ro" sito ................................ ................................ ................................ ................................ ...... 71 Co$"etencia es"ecf i ca ................................ ................................ ................................ ............ 71 ,.1. Entorno de Seg#ridad ................................ ................................ ................................ ........ 72 +ct i * i dad 1. Seg#ridad y "rotecci n dentro del dise:o de #n siste$a o"erat i............. *o 77 ,.1.1. C l asif i caciones de l a seg#ridad ................................ ................................ ..................... 77 ,.1.2. 6erif i caci n de a#tent i cidad de #s#ar i................................ os ................................ .....78

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

Programacin de sistemas operativos


Programa desarrollado

,.1.,. 6al i daci n y a$ena3as al siste$a ................................ ................................ ................ 79 +ct i * i dad 2 Ta! l a de ele$entos /#e afectan l a seg#ridad de #n siste$a ........................ 80 ,.2. Conce"to y o! ) et i *os de "rotecci ................................ n ................................ ................. 81 ,.2.1. (ecanis$os de "rotecci n ................................ ................................ ............................ 82 ,.2.2. F#nciones de l siste$a de "rotecci n ................................ ................................ ........... 83 ,.2.,. I$"le$entaci n de $atr i ces de acceso ................................ ................................ ....... 84 +ct i * i dad ,. C#adro sin "tico de l os $ecanis$os de "rotecci n ................................ ....... 85 +#toe*al#aci n ................................ ................................ ................................ ........................... 85 E* i denc i a de a"rendi3a)e. D i agra$a de f l # ) o del siste$a o"erat i *o ................................ ..86 C i erre de la #n i dad ................................ ................................ ................................ ..................... 86 %ara sa!er $4s................................ ................................ ................................ ........................... 87 F#entes de cons#lta ................................ ................................ ................................ ................... 87

0&$D*D % D$S-7O D- S$S/-)*S OP-(*/$4OS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 88


%resentaci n de l a #nidad ................................ ................................ ................................ ......... 88 %ro" sito ................................ ................................ ................................ ................................ ...... 88 Co$"etencia es"ecf i ca ................................ ................................ ................................ ............ 88 -.1. ;ase de l dise:o de siste$as o"erat i *os ................................ ................................ ......... 89 -.1.1. 7a * i si n "rofesional de l dise:o ................................ ................................ .................... 90 -.1.2. C#est i ones !4sicas so!re el dise:o ................................ ................................ ............. 91 -.1.,. Conce"tos genera l es de #na ar/#itect#ra ................................ ................................ ..93 -.1.-. Caracterst i cas diferenciales del dise:o ................................ ................................ ...... 94 +ct i * i dad 1. D i se:o de #n siste$a o"erati*o ................................ ................................ ......... 95 -.2. D i se:o de interfaces ................................ ................................ ................................ ........... 95 -.2.1. %r i nci"ios so!re el dise:o de i nterfaces ................................ ................................ ...... 98 -.2.2. %arad i g$as ................................ ................................ ................................ ...................... 98

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

Programacin de sistemas operativos


Programa desarrollado

-.2.,. 7la$adas al siste$a ................................ ................................ ................................ ....... 99 +ct i * i dad 2. +r/#itect#ra del dise:o del siste$a o"erati*o 7in#x ................................ .....10 0 -.,. I$"le$entaci n y dese$"e:o ................................ ................................ ........................ 10 1 -.,.1. Estr#ct#ra de l siste$a ................................ ................................ ................................ ..10 1 -.,.2. (ecanis$os en co$"araci n con "o l t i cas ................................ ............................... 10 4 -.,.,. Estr#ct#ras est4ticas o din4$ i cas ................................ ................................ .............. 10 4 -.,.-. I$"le$entaci n descendente o ascendente................................ ............................. 10 5 -.,.0. %rinci"ios de o"t i $ i 3aci................................ n ................................ ............................ 10 6 -.,.<. 8so de cach=s ................................ ................................ ................................ ............... 10 6 +ct i * i dad ,. D i agra$a de f l #)o "ara l a i$"le$entaci n de #n S2 ................................ ...10 7 +ct i * i dad -. C $o o"t i $ i 3ar 9 i ndows ................................ ................................ .................. 10 7 +#toe*al#aci n ................................ ................................ ................................ ......................... 10 8 E* i denc i a de a"rendi3a)e. D i agra$a de f l # ) o "ara dise:ar #n siste$a o"erati*o .......... 10 8 C i erre de la #n i dad ................................ ................................ ................................ ................... 10 9 %ara sa!er $4s................................ ................................ ................................ ......................... 10 9 F#entes de cons#lta ................................ ................................ ................................ ................. 11 0

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

<

Programacin de sistemas operativos


Programa desarrollado

$% $nformacin general de la asignatura a% 'ic9a de identificacin


&om:re de la $ngenier;a: &om:re del curso o asignatura Clave de asignatura: Seriacin: Cuatrimestre: 5oras contempladas: Desarrollo de software %rogra$aci n de Siste$as 2"erati*os 1<?@2?-10 1 10?@2?-10 Ao a"lica C#arto >2

:% Descripcin
%ara /#e #na co$"#tadora "#eda hacer f#ncionar alg#na a"licaci n o "rogra$a, de!e reali3ar *arias acti*idades, /#e a *eces no nos i$agina$os, estas o"eraciones est4n dadas con la for$a en /#e se co$#nican el "rocesador, la $e$oria y los dis"ositi*os. ;ien sa!e$os /#e #na co$"#tadora en la act#alidad contiene #no o $as "rocesadores, $e$oria 5+( y $e$oria de al$acena$iento tales co$o discos d#ros, ade$4s de ran#ras de ex"ansi n en las /#e se colocan tar)etas co$o tar)etas de *ideo, red, cada #no de los c#ales f#ncionan de $anera trans"arente a n#estros o)os es decir no nos "reoc#"a$os "or el $ane)o fsico si$"le$ente los #sa$os e)e$"lo al g#ardar #n archi*o en el disco d#ro no tene$os /#e $ani"#lar co$o se $#e*e el lector y c#antos y c#al es"acio fsico *a a #tili3ar y el co$o se g#arda ah, "ara "oder controlar esto tendra$os /#e ser ex"ertos en electr nica y $#chas $4s cosas. 7a asignat#ra de %rogra$aci n de siste$as o"erati*os es contin#idad de la $ateria Siste$as 2"erati*os y "ri$ordial "ara /#ienes est4n est#diando #na licenciat#ra en la /#e se dise:en "rogra$asB "or lo $is$o, los conoci$ientos y ha!ilidades /#e desarrollen en este c#rso ser4n indis"ensa!les "ara la $ayora de las asignat#ras s#!sec#entes del "lan de est#dios, tal es el caso de ;ases de datos, %rogra$aci n orientada a o!)etos, %rogra$aci n we!, Estr#ct#ra de datos, entre otras. 7os est#diantes /#e c#rsen esta asignat#ra "odr4n ded#cir la $anera en /#e el siste$a o"erati*o lle*a a ca!o todos s#s controles, "ara esto se ha desglosado el contenido de la

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

>

Programacin de sistemas operativos


Programa desarrollado

$ateria en - #nidades /#e a!ordan lo sig#ienteD la "ri$era #nidad ha!la so!re la ad$inistraci n del "rocesador de la $e$oria y de los dis"ositi*os de entrada y salida, la seg#nda #nidad trata so!re la $ani"#laci n /#e se tiene en el siste$a de archi*os, la tercera a!orda c $o los conoci$ientos de seg#ridad indis"ensa!les y se a!arcar4n t=cnicas de "rotecci n de acceso al siste$a y en la c#arta la !ases el dise:o de interfaces la i$"le$entaci n y el dese$"e:o /#e i$"lica el dise:o de siste$as o"erati*os

c% 'undamentacin terica de la asignatura


7a asignat#ra de %rogra$aci n de Siste$as 2"erati*os, tiene co$o finalidad "rinci"al el $ostrar c $o se "rogra$a #n siste$a o"erati*o, disting#iendo c $o ad$inistra el "rocesador, la $e$oria y los dis"ositi*os de entrada y salida /#e conoce$os tales co$o teclado, $onitor, $o#se, etc. +s, al identificar c $o el siste$a o"erati*o interactEa con estos ele$entos $encionados, deter$inar4s los "rocesos /#e se sig#en en cada #no de ellos. 2tra "arte i$"ortante de esta asignat#ra es /#e identifi/#es /#= "rocesos sig#e el siste$a de archi*os, c $o es $ane)ado y organi3ado "or el siste$a o"erati*o, sin de)ar de to$ar en c#enta la "arte de seg#ridad y "rotecci n #tili3ando las f#nciones t=cnicas en c#anto a "olticas y $ecanis$os, de =stas. +"licando las caractersticas /#e confor$an la "arte fsica de #na $4/#ina, el $ane)o de archi*os, s# seg#ridad y "rotecci n, +s se "odr4 dise:ar y entender co$o es la i$"le$entaci n y el dese$"e:o del Siste$a 2"erati*o. Desde el inicio en la "ri$era #nidad, el est#diante interact#ar4 con las herra$ientas del a#la *irt#al, co$o lo son foros, !ases de datos. %osterior$ente, se lle*ar4n a ca!o tra!a)os, as co$o ta$!i=n se reali3ar4n acti*idades de in*estigaci n /#e co$"le$enten los contenidos, lo /#e "er$ita e)ercitar y "resentar s#s e*idencias de a"rendi3a)e de los te$as *istos en cada #nidad. El enfo/#e te rico $etodol gico en el c#al se s#stenta la asignat#ra es #n enfo/#e $ixto, donde se considerar4n los sig#ientes as"ectosD Criterio c#antitati*oD nE$ero de a"ortacionesD $ni$o 21te$a a disc#tir. Criterio c#alitati*o a tra*=s de escalasD o ExcelenteD 1?? o ;ienD C? o 5eg#larD <? o Ins#ficienteD 0?

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

Programacin de sistemas operativos


Programa desarrollado

d% Propsito
Si !ien recorda$os #n siste$a o"erati*o controla y coordina el hardware con el software, siendo la interfa3 de co$#nicaci n entre el hardware y el #s#ario, hasta ahora s lo "artici"4!a$os co$o #s#arios del $is$o, sin "reoc#"arnos "or c $o f#nciona real$ente. Exigi$os /#e sea r4"ido, /#e tenga rendi$iento y !#ena gesti n de rec#rsos, es decir /#e este o"ti$i3ando el #so del hardware, /#ere$os /#e el siste$a sea f4cil de #sar, "ero rara *e3 nos "reg#nta$os c $o f#nciona o c $o controla cada #no de estos accesos. El "ro" sito inicial de esta $ateria es identificar co$o el siste$a o"erati*o interna$ente controla y coordina al "rocesador, a la $e$oria, los dis"ositi*os de entrada y salidaB ade$4s c $o $ane)a los archi*os "ara #n !#en control, desde l#ego sin de)ar de to$ar en c#enta los ni*eles de seg#ridad y "rotecci n /#e exigi$os co$o #s#arios, "ara lo $4s *alioso /#e $ane)a$os /#e es la infor$aci n, de $anera /#e *is#ali3a$os el S2 &Siste$a 2"erati*o' co$o el /#e controla y asigna los rec#rsos. Teniendo en c#enta todos estos conce"tos, se real3a el "ro" sito final de esta $ateria, /#e es identificar el dise:o de #n siste$a o"erati*o, desde s# !ase, s# interfa3 y s# i$"le$entaci n.

e% Competencia<s= a desarrollar
Competencia general: E$"lear las distintas "artes /#e confor$an #n siste$a o"erati*o "ara la ad$inistraci n efica3 de los rec#rsos #tili3ando las diferentes herra$ientas del dise:o.

Competencias espec;ficasD Descri!ir la ad$inistraci n del "rocesador, $e$oria y dis"ositi*os de entrada y salida "ara reconocer las caractersticas /#e los disting#e co$o interactEan con el siste$a o"erati*o $ediante las transiciones entre ellos. Identificar el "roceso /#e sig#en los archi*os "ara la ad$inistraci n y !#en $ane)o de los $is$os con el an4lisis $ediante la l gica /#e sig#e el siste$a. 8tili3ar las f#nciones y t=cnicas "ara *alidar las a$ena3as de #n siste$a co$o "olticas y $ecanis$os $ediante la diferenciaci n de seg#ridad y "rotecci n.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

Programacin de sistemas operativos


Programa desarrollado

+"licar la *isi n !4sica so!re el dise:o, "ara la i$"le$entaci n y dese$"e:o del S.2., $ediante el "rinci"io de dise:o, con el #so de las diferentes caractersticas de la ar/#itect#ra /#e lo confor$an.

f% /emario
8nidad 1. +d$inistraci n de %rocesador, $e$oria dis"ositi*os E1S 1.1. %rocesador 1.1.1. Definici n y conce"tos 1.1.2. %rocesos e hilos 1.1.,. (#lti"rocesa$iento 1.1.-. %aralelis$o 1.2. (e$oria 1.2.1. +d$inistraci n de la $e$oria 1.2.2. .erar/#a de la $e$oria 1.2.,. (#lti"rogra$aci n con "articiones fi)as y *aria!les 1.2.-. (e$oria real 1.2.0. (e$oria *irt#al 1.,. Entrada1Salida 1.,.1. %rinci"ios de hardware y software de I12 1.,.2. Dis"ositi*os y $ane)adores de dis"ositi*os 1.,.,. (ecanis$os y f#nciones de $ane)adores de dis"ositi*os 1.,.-. Estr#ct#ra de datos en el (ane)o de dis"ositi*os 1.,.0. 2"eraciones de E1S 8nidad 2. +d$inistrador de Siste$as de +rchi*os 2.1 . Siste$as de +rchi*os 2.1.1 Conce"to 2.1.2 .erar/#a de datos 2.2 . Ti"o de +rchi*os 2.2.1 5eal 2.2.2 6irt#al 2.2., Co$"onentes 2., . 2rgani3aci n del siste$a de archi*os, l gica y fsica 2.,.1 2"eraciones con archi*os 2.,.2 .erar/#a de Datos 8nidad ,. Seg#ridad y %rotecci n

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

1?

Programacin de sistemas operativos


Programa desarrollado

,.1 Entorno de Seg#ridad ,.1.1 Clasificaciones de la seg#ridad ,.1.2 6erificaci n de a#tenticidad de #s#arios ,.1., 6alidaci n y a$ena3as al siste$a ,.2 Conce"to y o!)eti*os de "rotecci n ,.2.1 (ecanis$os de "rotecci n ,.2.2 F#nciones del siste$a de "rotecci n ,.2., I$"le$entaci n de $atrices de acceso 8nidad -. Dise:o de Siste$as 2"erati*os -.1. ;ase del dise:o de siste$as o"erati*os -.1.1. 7a *isi n "rofesional del dise:o -.1.2. C#estiones !4sicas so!re el dise:o -.1.,. Conce"tos Fenerales de #na ar/#itect#ra -.1.-. Caractersticas diferenciales del dise:o -.2. Dise:o de interfaces -.2.1. %rinci"ios so!re el dise:o de interfaces -.2.2. %aradig$as -.2.,. 7la$adas al siste$a -.,. I$"le$entaci n y dese$"e:o -.,.1. Estr#ct#ra del siste$a -.,.2. (ecanis$os en co$"araci n con "olticas -.,.,. Estr#ct#ras est4ticas o din4$icas -.,.-. I$"le$entaci n descendente o ascendente -.,.0. %rinci"ios de o"ti$i3aci n -.,.<. 8so de cach=s

g% )etodolog;a de tra:a>o
El +"rendi3a)e ;asado en la 5esol#ci n de %ro!le$as co$o $etodologa de a"rendi3a)e a"licada a la asignat#ra "er$itir4 /#e se "resenten sit#aciones di*ersas "ara /#e se lle*e a ca!o la a"licaci n de diagra$as de fl#)o y "rocedi$ientos, as $is$o r#tinas /#e "er$itan e)ercitar y "oner en "r4ctica conoci$ientos y "rocedi$ientos /#e "ro$#e*an el refor3a$iento de lo a"rendido o la resol#ci n de d#dasB as co$o el a"rendi3a)e significati*o, al co$"ro!ar los ele$entos te ricos. +l a"licar este ti"o de $etodologa en la asignat#ra, ta$!i=n se to$an en c#entaD El #so de las sig#ientes herramientas tecnolgicasD a' #n foro general al inicio de la asignat#ra c#yo "ro" sito es fa*orecer la co$#nicaci n y el conoci$iento entre los est#diantes, !' foros /#e sir*en co$o !ase "ara "artici"ar en te$as "ro"#estos y

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

11

Programacin de sistemas operativos


Programa desarrollado

o!tener #n $ayor conoci$iento acerca de los te$as de cada #nidad y c' !ases de datos "ara tra!a)ar ta!las descri"ti*as y co$"arati*as so!re di*ersos te$as de la asignat#ra. 7a reali3aci n de actividades formativas, entre las /#e destacanD tareas en las /#e se anali3a el te$a y se selecciona #n e)e$"lo # otras en las /#e dado #n e)e$"lo es"ecfico se "ide entregar doc#$entaci n segEn sea solicitado, ta$!i=n in*estigaciones y dise:ar diagra$as co$o "arte final "ara la a"licaci n del conoci$iento ad/#irido. 7a constr#cci n del portafolio de evidencias &eG"ortafolio' ela!oraci n de c#adro sin "tico "ara e*idenciar el conoci$iento ad/#irido, #n doc#$ento referenciando la #nidad 2 y diagra$as de fl#)o "ara las sig#ientes #nidades /#e refle)an los te$as a!ordados en cada #na de las #nidades /#e integran la asignat#ra. 7a reali3aci n de acti*idades de auto-evaluacin /#e den c#enta del grado de a"rendi3a)e ad/#irido y ref#ercen los conoci$ientos.

9% -valuacin
En el $arco del %rogra$a ES+D, la e*al#aci n se conce"t#ali3a co$o #n "roceso "artici"ati*o, siste$4tico y ordenado /#e inicia desde el $o$ento en /#e el est#diante ingresa al a#la *irt#al. %or lo /#e se le considera desde #n enfo/#e integral y contin#o. %or lo anterior, "ara a"ro!ar la asignat#ra, se es"era la "artici"aci n res"onsa!le y acti*a del est#diante as co$o #na co$#nicaci n estrecha con s# facilitador "ara /#e "#eda e*al#ar o!)eti*a$ente s# dese$"e:o. %ara lo c#al es necesaria la recolecci n de e*idencias /#e "er$itan a"reciar el "roceso de a"rendi3a)e de contenidosD declarati*os, "rocedi$entales y actit#dinales. En este contexto la e*al#aci n es "arte del "roceso de a"rendi3a)e, en el /#e la retroali$entaci n "er$anente es f#nda$ental "ara "ro$o*er el a"rendi3a)e significati*o y reconocer el esf#er3o. Es re/#isito indis"ensa!le la entrega o"ort#na de cada #na de las tareas, acti*idades y e*idencias as co$o la "artici"aci n en foros y de$4s acti*idades "rogra$adas en cada #na de las #nidades, y confor$e a las indicaciones dadas. 7a calificaci n se asignar4 de ac#erdo con la rE!rica esta!lecida "ara cada acti*idad, "or lo /#e es i$"ortante /#e el est#diante la re*ise antes reali3arla. + contin#aci n "resenta$os el es/#e$a general de e*al#aci n. -S?0-)* D- -4*.0*C$+& E*al#aci n Interacciones indi*id#ales y contin#a cola!orati*as

10@

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

12

Programacin de sistemas operativos


Programa desarrollado

EG"ortafolio. !0@ Exa$en C*.$'$C*C$+& '$&*.

Tareas E*idencias +#torreflexiones

60@ 0@ 10@ 10@ 100@

Ca!e se:alar /#e "ara a"ro!ar la asignat#ra, se de!e de o!tener la calificaci n $ni$a indicada "or ES+D.

i% 'uentes de consulta
Ai:liograf;a :Bsica Stallings, 9. &2??>' Sistemas Operativos. (=xicoD %earson %rentice Hall. Stallings, 9. &2??>' Sistemas Operativos: aspectos internos y principios de diseo. %earson %rentice Hall. Tanen!a#$, +. &2??,' Sistemas Operativos Modernos. (=xicoD %earson %rentice Hall. Tanen!a#$, +. &2??@' Sistemas Operativos: diseo e implementacin. (=xicoD %earson %rentice Hall. Ai:liograf;a complementaria (orera, .. y %=re3, .. &2??2' Conceptos de Sistemas Operativos. (adridD Co$illas.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

1,

Programacin de sistemas operativos


Programa desarrollado

$$% Desarrollo de contenidos por unidad 0nidad 1% *dministracin de Procesador2 memoria C dispositivos -"S
El "rocesador esta for$ado "or "lanificadores en los c#ales se decide /#e se *a a e)ec#tar "ri$ero y /#e se e)ec#ta des"#=s, ade$4s de a /#e le *a a dar res"#esta de $anera in$ediata y /#e "#ede es"erar, todo esto con la finalidad de o"ti$i3ar *arios "#ntos tales co$oD *elocidad en res"#esta, certe3a, excelencia en res"#esta, etc., entendiendo as a los "lanificadores co$o las "artes l gicas del "rocesador /#e anali3an los datos reci!idos y to$an decisiones de res"#esta en c#anto *elocidad y "rioridad.

Existen diferentes ti"os de "lanificadores en #n "rocesador los c#ales se enlistan a contin#aci nD Planificador a largo plaDo: En este, el "rocesador decide el orden de e)ec#ci n con #na adec#ada organi3aci n de los rec#rsos "ara /#e el tra!a)o se e)ec#te de for$a ordenada y eficiente segEn el $odo de "rocesa$iento. Planificador a medio plaDo: Este "lanificador es res"onsa!le de cargar y descargar tra!a)os desde el disco a la $e$oria y de la $e$oria al disco considerando el grado de so!recarga del siste$a.

Planificador a corto plaDo: Es /#ien decide c#4ndo, c $o y "or c#4nto tie$"o reci!e el "rocesador #n "roceso /#e est4 "re"arado "ara e)ec#tar.

+s considerare$os co$o "ri$er co$"onente "ara /#e #n siste$a o"erati*o f#ncione es el "rocesador. El seg#ndo co$"onente es la $e$oria, la "rinci"al necesidad "ara c#al/#ier siste$a o"erati*o es el /#e la $e$oria sea r4"ida "ara /#e al e)ec#tar #na instr#cci n el C%8 o "rocesador, no se *ea afectado "or la $e$oria de !a)o rendi$iento. Dentro de #n siste$a o"erati*o, la $e$oria no es el Enico rec#rso /#e de!e ad$inistrarse, los dis"ositi*os de Entrada1Salida ta$!i=n interactEan con el siste$a o"erati*o y "or lo reg#lar constan de dos "artesD #na tar)eta controladora y el dis"ositi*o en s, la tar)eta controladora es #n chi" o #n con)#nto de chi"s $ontados en #na tar)eta inserta!le, /#e controla fsica$ente al dis"ositi*o. Dicha controladora ace"ta co$andos del siste$a o"erati*o y los e)ec#ta.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

1-

Programacin de sistemas operativos


Programa desarrollado

Considerando entonces /#e el tercer co$"onente son los dis"ositi*os en si. 7os dis"ositi*os tienen interfaces relati*a$ente si$"les, de!ido a /#e no tienen $#cha ca"acidad "ara estandari3arlos, esto Elti$o es necesario "ara /#e c#al/#ier controladora de disco IDE "#eda $ane)ar c#al/#ier disco IDE &Electr nica Integrada en la 8nidad, integrated drive electronics. %or s#s siglas en ingles'.

Propsito
Identificar c $o el Siste$a 2"erati*o interactEa, $ane)a el control del "rocesador y s#s "rocesos, de la $e$oria y s#s ti"os "articiones y ad$inistraci nB sin de)ar de to$ar en c#enta el control de los dis"ositi*os de E1SB s#s "rinci"ios, $ane)adores, $ecanis$os, estr#ct#ras y o"eraciones.

Competencia espec;fica
Descri!ir la ad$inistraci n del "rocesador, $e$oria y dis"ositi*os de entrada y salida "ara reconocer las caractersticas /#e los disting#e co$o interactEan con el siste$a o"erati*o $ediante las transiciones entre ellos.

Presentacin de la unidad
;ien*enido&a' a la asignat#ra de %rogra$aci n de Siste$as 2"erati*os. En esta "ri$era #nidad tra!a)are$os y entendere$os so!re co$o el Siste$a 2"erati*o hace #so del "rocesador ad$inistr4ndolo en c#al si !ien recorda$os es el cere!ro de la co$"#tadora o donde se reali3an las o"eraciones ta$!i=n es conocido co$o C%8, las "artes /#e lo for$an, co$o ca$!ia de #n "roceso a otro, co$o $ani"#la las acti*idades y entender co$o es /#e controla *arios "rocesos a la *e3 o los hace en for$a "aralela #na *e3 /#e entenda$os co$o el Siste$a 2"erati*o ad$inistra el "rocesador entendere$os co$o controla los accesos a la $e$oria descargando y cargando infor$aci n en ella, se entender4 la diferencia entre $e$oria real y *irt#al y "ara /#e se #sa cada #na de ellas y "or #lti$o la gran *enta)a de controlar las o"eraciones /#e se reali3an en los dis"ositi*os de entrada y salida .

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

10

Programacin de sistemas operativos


Programa desarrollado

*ctividad 1% Presentacin
Co$o "ri$er acti*idad en el est#dio de la asignat#ra, te "resenta$os #n foro de disc#si n general, creado "ara /#e co$entes as#ntos relacionados con la asignat#raB en =l, conocer4s a t#s co$"a:eros de gr#"o, entre todos "odr4n a"oyarse, resol*er d#das e in/#iet#des y externar co$entarios. ComienDa t# "artici"aci n, ingresando al a#la y en la +cti*idad 1.%resentaci n.

1%1% Procesador
El "rocesador o 8nidad Central de %rocesa$iento co$En$ente conocido co$o C%8 "or s#s siglas en ingles Central Processing Unit, es la #nidad /#e "rocesa todas las tareas /#e reali3ara la co$"#tadora, "er$itiendo el "rocesa$iento de infor$aci n n#$=rica ingresada en for$ato !inario, as co$o el "roceso de instr#cciones al$acenadas en la $e$oria. El C%8, es #n dis"ositi*o electr nico el c#al f#nciona en*iando "#lsos el=ctricos a ra3 n de Hert3, #n C%8 con 0? (H3 en*iar4 0?.???.??? "#lsos el=ctricos "or seg#ndo donde el "rocesador e)ec#ta #na acci n /#e corres"onde a s# *e3 a #na instr#cci n o !ien a #na "arte de ella. 7a $edida CP$ &ciclos "or instr#cci n' re"resenta el nE$ero "ro$edio de ciclos necesarios "ara /#e el $icro"rocesador e)ec#te la instr#cci n. 7a "otencia del $icro"rocesador se $ide "or el nE$ero de instr#cciones "or seg#ndo /#e es ca"a3 de "rocesar. Cada C%8 e)ec#ta #n con)#nto de instr#cciones es"ecficas a s# ar/#itect#ra, "or lo tanto no se "#eden e)ec#tar "rogra$as de #na ar/#itect#ra de #n ti"o de "rocesador a otro con estr#ct#ra de $ane)o de "roceso diferente. %#esto /#e tener acceso a la $e$oria "ara o!tener #na instr#cci n o #na "ala!ra de datos tarda $#cho $4s /#e e)ec#tar #na instr#cci n, todas las C%8s contienen alg#nos registros "ara g#ardar *aria!les i$"ortantes y res#ltados te$"orales. +s el con)#nto de instr#cciones "or lo general incl#yen instr#cciones "ara cargar #na "ala!ra de la $e$oria en #n registro, y "ara al$acenar en la $e$oria #na "ala!ra /#e est4 en #n registro.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

1<

Programacin de sistemas operativos


Programa desarrollado

I&2 6769H%D 5SH8D97J5 FHEH 9HKH8 F5K5F7%7HK95 FH 95F56 256 8H.769856 D2 %L297S2HMD8 HK H2 tie$"o el C%8, es co$En /#e el siste$a o"erati*o tenga /#e detener el "rogra$a en e)ec#ci n "ara iniciar o reiniciar otro. Cada *e3 /#e el siste$a o"erati*o detiene #n "rogra$a en e)ec#ci n, de!e g#ardar todos los registros "ara /#e "#edan resta!lecer c#ando el "rogra$a continEe s# e)HFLF7yK (L695 F5KFH 6H TLHFyN >DKHKEDL% En la act#alidad $#chas C%8 c#entan con rec#rsos "ara e)ec#tar $4s de #na instr#cci n a la *e3, #na C%8 "odra tener #nidades indi*id#ales "ara to$ar, decodificar y e)ec#tar de $odo /#e $ientras est= e)ec#tando la instr#cci n, ta$!i=n "#eda estar decodificando la instr#cci n nO1 y to$ando la instr#cci n nO2. El "rocesador reali3a e inter"reta #na serie de instr#cciones contenidas de #n software y "rocesa los datos /#e este genera. Existen #n gran nE$ero de $odelos y $arcas de "rocesadores /#e *an de"endiendo del ti"o de soc et, CoreCloc ! "S#! Cache, etc. Instr#cciones, es #na o"eraci n /#e el "rocesador de!e de reali3arB esas instr#cciones se al$acenan en la $e$oria "rinci"al del "rocesador, y #tili3an dos ca$"osD C digo de o"eraci n /#e re"resenta la acci n /#e el "rocesador de!e e)ec#tar. C digo o"erando, /#e es el /#e define los "ar4$etros de la acci n. 7as instr#cciones se agr#"an a s# *e3 en categoras co$oD +cceso a (e$oriaD Es la transferencia de infor$aci n entre registros. 2"eraciones +rit$=ticasD Es la "arte /#e se encarga de reali3ar las o"eraciones tales co$o s#$a, resta $#lti"licaci n o di*isi n. 2"eraciones l gicasD En esta se encarga de reali3ar las o"eraciones J, 2, Ao, etc. ControlD Se encarga de reali3ar las conexiones condicionales, etc. De!ido a la excl#si n de ele$entos de hardware co$"le)os, la reali3aci n del tra!a)o "or la ca"a de software, los "rocesadores "oseen #na estr#ct#ra interna si$"le y $#y eficiente, co$"#esta "orD 8nidades enteras &$nteger +78'. 8nidad de co$a flotante &floating point unit'. 8nidad de $e$oria "ara o"eraciones de lect#ra y escrit#ra &%oad&Staore Unit'. 8nidad de salto &#ranch unit'.

+l e)ec#tarse todas las instr#cciones la infor$aci n /#e se genera se al$acena de for$a te$"oral en #!icaciones de $e$oria local, deno$inada registros. +lg#nos de los registros co$En$ente #tili3ados sonD +c#$#lador &+CC', al$acena los res#ltados de las instr#cciones de o"eraci n +rit$=tica y l gica. Estado &%S9', contiene los indicadores de estado del siste$a.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

1>

Programacin de sistemas operativos


Programa desarrollado

Instr#cci n &5I', al$acena las instr#cciones /#e se *a "rocesando. Contador ordinal &2C'.

Casi todas las co$"#tadoras tienen *arios registros es"eciales /#e "#ede *er el "rogra$ador. 8no de ellos es el contador de "rogra$a, el c#al contiene la direcci n de $e$oria en la /#e se enc#entra la sig#iente instr#cci n /#e ser4 to$ada. 8na *e3 o!tenida esa instr#cci n, el contador de "rogra$a se act#ali3ar4 de $odo /#e a"#nte a s# s#cesora. 2tro registro es el a"#ntador de "ila, /#e a"#nta a la "arte s#"erior de la "ila act#al en la $e$oria. 7a "ila contiene #n $arco "or cada "rocedi$iento en el /#e se ha entrado, "ero del c#al no se ha salido aEn. El $arco de "ila de #n "rocedi$iento contiene los "ar4$etros de entrada, *aria!les locales y *aria!les te$"orales /#e no se g#ardan en registros.

1%1%1% Definicin C conceptos


El "rocesador es el encargado de "rocesar los datos /#e est4n al$acenados en #na co$"#tadora "ara "rod#cir c#al/#ier ti"o de infor$aci n de inter=s "ara los #s#arios. 8n $icro"rocesador se di*ide en dos co$"onentes !4sicos, los c#ales sonD 1. 2. 7a #nidad l gica1arit$=tica &+78', /#e reali3a o"eraciones arit$=ticas y l gicas, dadas a tra*=s de $icro"rogra$aci n. 7a #nidad de control &C8', /#e extrae instr#cciones de la $e$oria, las descifra y e)ec#ta, lla$ando a la +78 c#ando es necesario, sincroni3a todas las o"eraciones de 4reas de al$acena$iento "rinci"al lla$adas registros y $e$oria cach=.

El "rocesador necesita "ara s# f#nciona$iento de ciertas 4reas de al$acena$iento y /#e son de di$ensiones $ni$asB sin e$!argo, tienen la *enta)a de s# ra"ide3. Co$"arados con los accesos a 5+(, los registros son co$o $ni$o 1? *eces $4s *eloces. Existen - registros lla$ados '(! #(! C( y )(, cada #no de ellos tienen asignada #na acti*idad es"ecfica. '(. Ao$!rado ac#$#ladorB contiene el o"erador /#e inter*iene en las o"eraciones arit$=ticas y l gicas. En general las instr#cciones /#e tra!a)an con este registro tienen #n $icro c digo $4s si$"le /#e la $is$a instr#cci n e)ec#tada con otro registro. #(. Conocido co$o registro !ase, co$En$ente la tarea de este registro se !asa en identificar la direcci n o ndice de cada registro dentro de #na ta!la de *alores "ara s# direcciona$iento.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

1C

Programacin de sistemas operativos


Programa desarrollado

C(. Es el contador, las instr#cciones /#e se reali3an d#rante #n "roceso dentro del siste$a o"erati*o conocidas co$o !#cle &%OOP' #tili3an este registro co$o contador de n *eces /#e #n ciclo re"ite dentro de #n "roceso. )(. 5egistro de datos $#lti#so, se #tili3a en o"eraciones de $#lti"licaci n y di*isi n )#nto con +L, s# a"licaci n s#ele estar dentro de o"eraciones de entrada1salida de "#ertos $*&OU+.

7os registros de seg$ento son #tili3ados "ara integrar las direcciones de otros seg$entos, "ara s# a"licaci n en con)#nto con otros registros /#e se:alan las direcciones concretas dentro de estos seg$entos, lo c#al "er$ite la gesti n total de la $e$oria direccional, y "ara estos seg$entos !4sica$ente se conte$"lan - ti"osD Seg$ento de c digo CS. +"#nta la #!icaci n del seg$ento de c digo del "rogra$a el c#al se est4 e)ec#tando en ese instante. Seg$ento de datos DS. Se:ala la #!icaci n del seg$ento de datos del "rogra$a en e)ec#ci n. Seg$ento de %ila SS. +"#nta la #!icaci n del seg$ento donde est4 la "ila del "rogra$a en e)ec#ci n. Seg$ento extra ES. Es #n seg$ento a#xiliar, es #tili3ado "ara indicar la existencia de es"acio extra de alg#nos de los seg$entos anteriores, es Etil ta$!i=n "ara g#ardar de for$a te$"oral las direcciones inter$edias entre seg$entos. 7os registros de "#ntero est4n destinados a contener direcciones /#e son des"la3a$ientos dentro de los seg$entos indicados "or los registros de seg$ento. %#ntero de instr#cci n I% y contador de "rogra$a %C, esta!lece la direcci n de la instr#cci n e indican el des"la3a$iento de la instr#cci n sig#iente a e)ec#tar /#e #!ica dentro del seg$ento CS. %#ntero de %ila S%. Se:ala la #!icaci n final de la "ila dentro del seg$ento de "ila SS. %#ntero !ase ;%. Se:ala el des"la3a$iento donde se enc#entra el origen de la 3ona oc#"ada "or las *aria!les din4$icas.

Ta$!i=n, dentro de los registros se enc#entra #no es"ecial lla$ado registro de estado &"%',S', es #n indicar del estado del "rocesador y el res#ltado de alg#nas o"eraciones, ya /#e s# f#nci n se !asa en el $ane)o de !its /#e actEan co$o se$4foro.

1%1%2% Procesos e 9ilos


%#ede considerarse co$o definici n de #n "roceso, a la e)ec#ci n de #n "rogra$a dentro de #n siste$a o"erati*o el c#al "#ede necesitar de ciertos rec#rsos deter$inantes "ara s#

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

1@

Programacin de sistemas operativos


Programa desarrollado

e)ec#ci n tales co$oD Tie$"o de C%8, archi*os de Entrada1salida, dis"ositi*os de Pentrada1salida, y $e$oria "rinci"al$ente, todos los rec#rsos /#e #tili3a se asignan al "roceso en el $o$ento de /#e es creado o !ien al $o$entos de ser e)ec#tado. Ca!e $encionar /#e cada #no los "rocesos "#ede tener s# "ro"ia C%8 *irt#al. 8na gran $ayora de los siste$as, los "rocesos s#elen ser la deter$inante "ara la reali3aci n de los tra!a)os. Cada siste$a contiene s#s "ro"ios "rocesos, y se di*iden en los "rocesos del siste$a o"erati*o /#e son los encargados de e)ec#tar el c digo del siste$a y los "rocesos de #s#arios encargados de e)ec#tar el c digo del #s#ario, "or lo tantos estos "rocesos se "#eden e)ec#tar de $anera si$#lt4nea "ara la reali3aci n de tareas interacti*as. D#rante la e)ec#ci n del c digo de #n "roceso, ta$!i=n #tili3a la acti*idad act#al /#e esta re"resentada "or el *alor del contador de "rogra$a y "or los contenidos de los registros del "rocesador. %or lo general de la $is$a for$a, #n "roceso ta$!i=n incl#ye la "ila del "roceso, lo c#al "#ede contener los datos te$"oralesD "ar4$etros de f#nciones, direcciones de retorno y las *aria!les locales ade$4s de #na secci n de datos /#e contienen las *aria!les glo!ales. 8n "roceso "#ede incl#ir #na ac#$#laci n de $e$oria, /#e es asignada de for$a din4$ica al "roceso en tie$"o de e)ec#ci n, en la sig#iente i$agen, se "resenta la estr#ct#ra de #n "roceso #!icado dentro de la $e$oria, indicando el estado /#e *a to$ando a $edida /#e el "roceso es e)ec#tado.

I$agen 1. E)ec#ci n de #n "roceso #!icado en la $e$oria &Sil!erschat3, 2??<D>-'

7a diferencia existente entre #n "rogra$a y #n "roceso, se tiene /#e #n "rogra$a "or s# estr#ct#ra "ro"ia no es #n "roceso ya /#e es #na entidad "asi*a "or e)e$"lo #n archi*o lle*a incl#ido #na cantidad de instr#cciones /#e se al$acenan en disco. 8n "roceso es #na entidad acti*a, la c#al contiene las instr#cciones /#e se de!en e)ec#tar y #n con)#nto de rec#rsos asociados a los registro del c"# "ara s# f#nciona$iento.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

2?

Programacin de sistemas operativos


Programa desarrollado

8n "rogra$a se con*ierte en "roceso al cargarse en $e$oria, lo c#al lo con*ierte en archi*o e)ec#ta!le. Considerando #n e)e$"lo /#e ay#de a disting#ir la diferencia, consiste en #na "ersona /#e se dedica a la constr#cci n, el c#al est4 a "#nto constr#ir #na casa. %ara esto c#enta con "lanos de la constr#cci n y todo el $aterial necesario "ara reali3ar la o!raD Ce$ento, Cal, +rena, Ta!i/#es, 6arilla, +la$!re, Cla*o, (adera, etc., en este e)e$"lo los "lanos es el "rogra$a, la "ersona de la constr#cci n es el C%8 y los ele$entos o $ateriales "ara la constr#cci n son los datos de entrada. El "roceso es la acti*idad de la "ersona de la constr#cci n consistente en leer los "lanos, o!tener los $ateriales y constr#ir la casa. 7a idea del "roceso consiste en /#e es #na acti*idad de algEn ti"oD tiene "rogra$a, entrada, salida y #n estado. Se "#ede co$"artir #n "rocesador entre *arios "rocesos, #sando algEn algorit$o de "lanificaci n "ara deter$inar c#4ndo de!e de)arse de tra!a)ar en #n "roceso "ara atender a #no distinto. 7a )erar/#a de los "rocesos /#e $ane)an el conce"to de "roceso de!e contar con algEn $ecanis$o "ara crear todos los "rocesos necesarios, en los siste$as $#y sencillos o en los dise:ados "ara e)ec#tar s lo #na a"licaci n es "osi!le /#e, c#ando el siste$a se inicia, todos los "rocesos /#e "#edan necesitarse est=n "resentes. Sin e$!argo, en la $ayor "arte de los siste$as se necesita algEn $ecanis$o "ara crear y destr#ir "rocesos segEn sea necesario d#rante la o"eraci n. En el estado de "rocesos, a#n/#e cada "roceso es #na entidad inde"endiente, con s# "ro"io contador de "rogra$a y estado interno, los "rocesos a $en#do necesitan interact#ar con otros "rocesos. 8n "roceso "odra generar ciertas salidas /#e otro "roceso #tili3a co$o entradas. (ientras #n "roceso es e)ec#tado *a $odificando el estado, de"endiendo de la acti*idad /#e este en $e$oria, en la sig#iente i$agen se $#estra el estado de #n "roceso
1. Un proceso se bloquea para aceptar entradas 2. El planificador escoge otro proceso 3. El planificador escoge este proceso 4. a! entradas disponibles

1
$loqueado

E"ecut#ndose

2
%isto

3 4

I$agen 2. 8n "roceso "#ede estar en el estado de e)ec#t4ndose, !lo/#eado o listo. 7as transiciones entre estos tres estados son las /#e se $#estran &Tanen!a#$, 2??,D01' Ha!it#al$ente, la $ayora de los "rocesos est4n creados "or el siste$a o"erati*o de tal for$a /#e los #s#arios o el "rogra$a de a"licaci n no conocan s# "rocedencia. Sin

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

21

Programacin de sistemas operativos


Programa desarrollado

e$!argo, es !astante Etil "ara el rendi$iento de $e$oria y ad$inistraci n de rec#rsos dentro de los "rocesos del C%8, /#e de #n "roceso se "#eda deri*ar otro "roceso, el n#e*o "roceso se "odra e)ec#tar de for$a "aralela con la a"licaci n y "odra ser acti*ado cada /#e se $ande a lla$ar. D#rante el !lo/#eo de control de "rocesos en #n siste$a o"erati*o, es re"resentado $ediante #n !lo/#e de control de "rocesos. 8n !lo/#e "#ede integrar alg#nos de los ele$entos de infor$aci n /#e es"ecifi/#en el estado de #n "roceso, alg#nos de estos ele$entos se tieneD Estado del "roceso. En este estat#s el "roceso "#ede to$ar la for$a !4sica de inicio, n#e*o, listo, e)ec#tando, en es"era, detenido, finali3ado, etc. Contador de "rogra$a. El contador de "rogra$a identifica la #!icaci n de la sig#iente instr#cci n /#e se e)ec#tara "or el "roceso. 5egistros en C%8. 7os diferentes registro /#e se "#eden #tili3ar "ara el "roceso de"enden del ti"o y nE$ero as co$o de la ar/#itect#ra del C%8, "ara estos registros se incl#yen los ya tratados en te$a anterior. Estado y "lanificaci n de C%8. 7a "lanificaci n de C%8 esta!lece /#e "roceso tiene $ayor "rioridad "ara el !#en f#nciona$iento y $ane)o de rec#rsos. +d$inistraci n de $e$oria. (#estra la *alor de los registros, ta!lar de "4ginas y de seg$entos. Infor$aci n conta!le. Este ele$ento contiene la cantidad de C%8 de tie$"o real e$"leado, l$ites de tie$"o asignados y nE$eros de c#enta. Estado de E1S. Este ele$ento $#estra la lista de los dis"ositi*os de E1S asignados al "roceso.

%or otro lado la finali3aci n de #n "roceso, de!e ser deter$inante /#e #n "roceso indi/#e la finali3aci n de s# tarea. %ara esto la a"licaci n de!er4 detectar #na lla$ada o "etici n ex"licita so!re el ser*icio del siste$a o"erati*o /#e deter$ine la finali3aci n del "roceso de$andante. D#rante #n "roceso tradicional la existencia de 9ilos de control, /#e re"resenta a #na acti*idad, en #n "roceso tradicional "#ede existir #n solo hilo de control y #n solo contador de "rogra$a en cada "roceso. Sin e$!argo, alg#nos siste$as o"erati*os $odernos $ane)an $Elti"les hilos de control dentro de #n "roceso. 7a sig#iente i$agen "resenta #n $odelo de solicit#d donde la existencia de #n "roceso "#ede #tili3ar hilos si$"les y $Elti"les hilos, /#e reci!en solicit#des "ara "rocesar el archi*o y la de*ol#ci n de datos o act#ali3aci n. Estos hilos de control nor$al$ente se lla$an s lo hilos, en la sig#iente i$agen, se "odr4 o!ser*ar tres "rocesos tradicionales, cada "roceso tiene s# "ro"io es"acio de direcciones y #n solo hilo de control. + diferencia, en el seg#ndo es/#e$a se o!ser*a #n solo "roceso

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

22

Programacin de sistemas operativos


Programa desarrollado

con tres hilos de control. +#n/#e en a$!os casos se tienen tres hilos, cada #no de ellos o"era en #n es"acio de direcciones distinto, en tanto al otro caso los tres hilos co$"arten el $is$o es"acio de direcciones.
&o(putadora &o(putadora

&ontador de p#gina

ilo

'roceso )b*

)a*

I$agen ,. &a' Estr#ct#ra de tres "rocesos con #n hilo si$"le y es"acio de direcciones distinto. &!' Estr#ct#ra de #n "roceso con tres hilos /#e co$"arte el es"acio de direcciones &Tanen!a#$, 2??,D 0-' 8na deter$inante de rendi$ientos es *ista en la i$agen anterior &!', C#ando #na solicit#d es "rocesada es entregada a #n hilo, si este hilo se !lo/#ea, los de$4s hilos "#eden contin#ar e)ec#t4ndose de $anera /#e se "odr4n reali3ar n#e*as solicit#des ya sea incl#si*e de E1S de disco. + diferencia del $odelo &a', no es $#y con*eniente ya /#e todos los hilos no co$"arten el $is$o es"acio de direcciones y cach- de $e$oria. +lg#nos de los siste$as o"erati*os, anterior$ente no #tili3a!an estos "rocesos y los hilos se $ane)a!an de for$a si$"le de "ilas. 7a "rinci"al des*enta)a /#e se tena con este $=todo, si el hilo se !lo/#ea!a el "roceso /#edara inconcl#so. %ara otros siste$as, el siste$a o"erati*o #tili3an los hilos $Elti"les "or "roceso, esta for$a de hilos $Elti"les tiene la *enta)a del anterior /#e c#ando #n hilo se !lo/#e, el siste$a o"erati*o selecciona el hilo /#e se e)ec#tar4 enseg#ida ya sea "ara el $is$o "roceso o #n "roceso distinto. %ara reali3a la "lanificaci n, el Qernel de!er4 sa!er la existencia de la ta!la de hilos /#e relacione los hilos del siste$a. 7a diferencia entre #n hilo si$"le e hilo $Elti"le, consiste en el rendi$iento /#e *ara de for$a significante #no del otro. 7a $odificaci n de hilos es $4s 4gil c#ando la ad$inistraci n de hilos se reali3a en el es"acio de #s#ario /#e c#ando se reali3a #na lla$ada al ernel. Ja sea /#e los hilos se "#edan ad$inistrar "or el ernel o en el es"acio de #s#ario, se introd#cen *arios "ro!le$as /#e se de!er4n resol*er y $odificar considera!le$ente el $odelo de "rogra$aci n "ara #n $e)or rendi$iento del siste$a o"erati*o.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

2,

Programacin de sistemas operativos


Programa desarrollado

1%1%6% )ultiprocesamiento
En siste$a o"erati*o /#e tiene $Elti"les C%8, "#ede co$"artir la carga de "rocesa$ientoB sin e$!argo, el "ro!le$a de la "lanificaci n se hace $4s difcil. 7a idea a enfocar so!re el $#lti"rocesa$iento es en !ase a los siste$as en lo /#e los "rocesadores son id=nticos, ho$og=neos en relaci n a s# f#ncionalidad, existen diferentes li$itaciones /#e afectan a la "lanificaci n. 8n $=todo "ara "lanificar las C%8 "ara #n siste$a $#lti"rocesador consiste en /#e todas las decisiones so!re la "lanificaci n, el "rocesa$iento de E1S y *arias acti*idades del siste$a sean ad$inistrados "or #n $is$o "rocesador. + este $#lti"rocesa$iento asi$=trico "areciera si$"le, "#es solo existe #n "rocesador /#e accede a las estr#ct#ras de datos del siste$a, $ini$i3ando la necesidad de co$"artir datos. 2tro $=todo es el $#lti"rocesa$iento si$=trico, este tiene co$o c#alidad /#e cada #no de los "rocesadores se a#toG"lanifica, y lo "rocesos "#eden estar en #na cola co$En de "rocesos "re"arados, o !ien cada "rocesador "#ede ser "ro"ietario de s# cola de "rocesos "re"arados de for$a inde"endiente, esta $=todo se "#ede esta!lecer /#e el "lanificador de cada "rocesador analice la cola de "rocesos "re"arados y seleccione #n "roceso "ara e)ec#tarlo. 8na "rogra$aci n eficiente del siste$a se considerar4 a/#ella en la /#e el "rocesador "#eda seleccionar #n "roceso /#e este dentro de #na estr#ct#ra de datos y /#e dos "rocesadores no seleccionar4n el $is$o "roceso y ta$!i=n e*itar la "=rdida de "rocesos de la cola. Hoy en da la $ayora o "r4ctica$ente todos los siste$as o"erati*os $odernos tienen la fact#ltad de so"ortar el $#lti"rocesa$iento si$=trico, "or $encionar alg#nos de ellosD 9indows L% y s#"erior, 7in#x en todas s#s distri!#ciones, (ac 2Sx, etc.

1%1% % Paralelismo
%ara la "rogra$aci n de siste$as o"erati*os, el t=r$ino "aralelis$o i$"lica la existencia de *arios "rocesadores en el siste$a, la t=cnica de "rogra$aci n "aralela deter$ina el "oder di*idir la e)ec#ci n de #n "roceso en distintos $ d#los del siste$a. (ientras la C%8 est4 e)ec#tando #n "rogra$a, ta$!i=n "#ede estar leyendo #n disco esto es "or/#e la C%8, esto se reali3a en el c#rso de $#y "oco tie$"o ya /#e "#ede tra!a)ar con *arios "rogra$as si$#lando /#e el siste$a "#ede estar reali3ando *arios "rocesos al $is$o tie$"o. El ter$ino se#do"aralelis$o, se #tili3a "ara refirise a esta

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

2-

Programacin de sistemas operativos


Programa desarrollado

r4"ida con$#taci n de la C%8 entre "rogra$as, "ara diferenciar del *erdadero "aralelis$o de hardware de los siste$as $#lti"rocesador, en el "roceso de e*ol#ci n de desarrollo de siste$as o"erati*os se ha ido $e)orando el $odelo de "rocesos sec#enciales /#e facilita el $ane)o del "aralelis$o. El "aralelis$o "ara los "rogra$as "#ede ser ex"licito donde #nas de s#s "rinci"ales caractersticas es /#e el "rogra$ador es"ecifica $ediante #na constr#cci n de conc#rrencia de excl#si n $#t#a y sincroni3aci n "ara deter$inar la "rioridad de los "rocesos. En este $=todo "#ede ser *ia!le "ara #tili3ar los "rocesadores "or se"arado y e)ec#tar cada #no los "rocesos, "or s# dific#ltad de i$"le$entaci n se "#eden generar *arios errores de "rogra$aci n.

*ctividad 2% *dministracin del Procesador


Con el fin de refleEionar so!re el te$a de la ad$inistraci n del "rocesador, participa en el foro de esta acti*idad, reali3ando lo sig#ienteD 1. *naliDa y contesta las sig#ientes "reg#ntasD RK#= f#nci n tiene el %rocesador dentro del Siste$a 2"erati*oS RC $o interactEan los hilos con el "rocesadorS RC#4l es la diferencia entre $#lti"rocesa$iento y "aralelis$oS 2. $ngresa al foro y genera #na n#e*a entrada "ara co$"artir t# res"#esta a las "reg#ntas antes "lanteadas. ,. (evisa y comenta las a"ortaciones de t#s co$"a:eros&as', analiDa si conc#erdas o no con ellos&as'. -. + "artir de las a"ortaciones *ertidas en el foro, ela:ora t#s concl#siones y pu:l;calas. 0. (ecuerda cons#ltar la 5E!rica de Foro /#e se enc#entra en la seccin Material de apoyo.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

20

Programacin de sistemas operativos


Programa desarrollado

1%2% )emoria
7a $e$oria en #n siste$a o"erati*o "#ede llegar a ser #n rec#rso $#y i$"ortante el c#al se de!e ad$inistrarse con c#idado. 7a $e$oria "rinci"al "#ede ser considerada co$o #n arreglo lineal de localidades de al$acena$iento de #n !yte de ta$a:o, cada localidad de al$acena$iento tiene asignada #na direcci n /#e la identifica. 7a $e$oria "rinci"al es el l#gar donde el C%8 registra las instr#cciones /#e se *an a e)ec#tar, as co$o alg#nos datos a e$"lear, #na de las f#nciones !4sicas /#e de!e i$"le$entar #n Siste$a 2"erati*o es la ad$inistraci n de la $e$oria "ara tener #n control so!re los l#gares donde est4n al$acenados los "rocesos y datos /#e act#al$ente se est4n #tili3ando.

1%2%1% *dministracin de la memoria


7a ad$inistraci n de la $e$oria "ara #n siste$a $#lti"roceso, se de!e tener c#idado en la gesti n de este rec#rso, ya /#e se "#ede deter$inar el estado del "rocesador de"endiendo de la cantidad de "rocesos /#e se est=n e)ec#tando. 7a $e$oria "rinci"al es la "arte donde se e)ec#tan los "rogra$as y "rocesos, este est4 definido "or el es"acio dis"oni!le "ara /#e se "#edan e)ec#tar los "rocesos. 7a ad$inistraci n de la $e$oria es la encargada de gestionar la )erar/#a de los "rocesos /#e se e)ec#tan dentro de la $is$a, s# "rinci"al f#nci n es el deter$inar /#e "artes de la $e$oria real est4n en #so y /#e "artes est4n li!res, ta$!i=n asigna $e$oria a los "rocesos c#ando la necesitan rec#"erar y c#ando ter$ina ade$4s controla el interca$!io entre la $e$oria "rinci"al y el disco c#ando la "ri$era es de$asiado "e/#e:a. %ara #n siste$a o"erati*o la ad$inistraci n !4sica de la $e$oria se "#ede di*idir en dos clases, los /#e interca$!ian los "rocesos entre la $e$oria y algEn dis"ositi*o esto $ediante el "roceso de e)ec#ci n. 7a otra clase es lo contrario al anterior "#es a/# est4n catalogados lo /#e no reali3an el interca$!io y "aginaci n. El interca$!io y la "aginaci n es #tili3ada co$o #na t=cnica "ara las sit#aciones ca#sadas $e$oria "rinci"al escasa "ara $antener todos los "rogra$as al $is$o tie$"o. Esto red#ce el costo de la $e$oria "rinci"al y a#$enta el rendi$iento del "rocesador, co$En$ente es con*eniente el re"lantear la ad$inistraci n de la $e$oria a $edida /#e el siste$a tenga $ayor creci$iento, "#es esto i$"lica /#e la $e$oria # otro "#eden hacerse o!soletos, ya /#e los siste$as crecen con $ayor ra"ide3 /#e las $e$orias.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

2<

Programacin de sistemas operativos


Programa desarrollado

7a $ono"rogra$aci n /#e no tiene interca$!io ni "aginaci n, es #n es/#e$a $4s si$"le y tiene la "osi!ilidad de e)ec#tar solo #n "rogra$a a la *e3, co$"artiendo la $e$oria entre el "rogra$a y el siste$a o"erati*o, en la sig#iente i$agen "lantea , *ariantes so!re el estado de $e$oria.

I$agen -. Tres *ariantes de organi3aci n de la $e$oria entre #n "rogra$a y el siste$a o"erati*o.

&Tanen!a#$, 2??,D ,1?' Estas *ariantes de la i$agen anterior nos $#estra, I$agen -&a' Indica /#e el siste$a o"erati*o "#ede estar alo)ado dentro de la $e$oria de acceso aleatorio .'M, I$agen -&!' Indica /#e el siste$a o"erati*o "#ede estar alo)ado en la "arte s#"erior de la $e$oria .OM! $e$oria de solo lect#ra, en la *ariante de la i$agen -&c' 7os controladores de los dis"ositi*os se enc#entran en la "arte s#"erior de la $e$oria 52( seg#ido de los "rogra$as de #s#ario y al final del es/#e$a se enc#entra el siste$a o"erati*o "or enci$a de la $e$oria 5+(. En estos es/#e$as anteriores, "er$ite e)ec#tar solo #n "roceso a la *e3, "ara /#e sea co"iado a $e$oria y se e)ec#te. +l finali3ar el "roceso en el siste$a o"erati*o de!er4 $ostrar #n indicati*o /#e $#estre /#e est4 a la es"era de #n n#e*o co$ando, asi entonces el siste$a o"erati*o reci!e este n#e*o co$ando "ara cargar el n#e*o "rogra$a en $e$oria so!reescri!iendo el anterior. Existen diferentes t=cnicas "ara la ad$inistraci n de la $e$oria, las c#ales se clasifican co$oD (#lti"rogra$aci n con "articiones fi)as (#lti"rogra$aci n con "articiones *aria!les Seg$entaci n %aginaci n +d$inistraci n de $e$oria con $a"as de !its +d$inistraci n de $e$oria con listas enla3adas

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

2>

Programacin de sistemas operativos


Programa desarrollado

Estas t=cnicas de ad$inistraci n de $e$oria, "or la ca"acidad de "rocesa$iento o!liga $#chas *eces a $odificar la ar/#itect#ra co$"#tador "ara o!tener el rendi$iento deseado a "artir del n#e*o hardware.

1%2%2% FerarGu;a de la memoria


7a )erar/#a de $e$oria sir*e "ara organi3ar de for$a incre$ental de "ir4$ide o ni*eles, el "rinci"al f#nci n de este $=todo es conseg#ir el rendi$iento a#$entar la *elocidad al costo de #na $e$oria si$"le. 7os ni*eles /#e co$En$ente confor$an la )erar/#a de la $e$oria sonD Ai*el ? de 5egistros Ai*el 1 de $e$oria Cache Ai*el 2 $e$oria "rinci"al Ai*el , De Disco d#ro Ai*el - *irt#al +s "#es lo /#e se !#sca con la )erar/#a de la $e$oria es esta!lecer #na deter$inante "ara la ad$inistraci n de la $e$oria.

1%2%6% )ultiprogramacin con particiones fi>as C varia:les


Existe otro es/#e$a "ara la ad$inistraci n de la $e$oria /#e "er$ite la e)ec#ci n de $Elti"les "rocesos en #n $is$o tie$"o, este es/#e$a es conocido "or $#lti"rogra$aci n con "articiones fi)as. En los siste$as con tie$"o co$"artido "ara los "rocesos res#lta /#e este si se enc#entra !lo/#eado en es"era de /#e finalice #na E1S, otro "roceso "odr4 #tili3ar la C%8. +s se incre$enta el rendi$iento tanto de la $e$oria co$o del C%8, #na "osi!ilidad de lograr la $#lti"rogra$aci n consiste en di*idir la $e$oria en n "articiones ya sea ho$og=nea o desig#al. + la llegada de algEn "roceso, se "odr4 colocar en la cola de entrada de la "artici n "e/#e:a /#e "#ede contener, ya /#e las "articiones est4n fi)as, "ero si "or algEn $oti*o el "roceso no #tili3o alg#na de las "articiones esta ser4 des"erdiciada. En la sig#iente i$agen, se il#stra #n es/#e$a con diferentes ti"os de entradas a "articiones fi)as.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

2C

Programacin de sistemas operativos


Programa desarrollado

I$agen 0. Es/#e$a de "articiones fi)as con $Elti"les colas de entrada &a', "articiones fi)as con cola Enica de entrada &!' &Tanen!a#$, 2??,D ,11' 7a i$agen anterior $#estra #n es/#e$a de dos ti"os distintos de asignaci n de "rocesos $ediante las colas de entrada, se "#ede o!ser*ar /#e al #tili3ar "articiones fi)as con colas distintas &a' se *e claro /#e el rendi$iento del siste$a !a)a "#es al encontrar #na "artici n de$asiado grande y *aca y #na "artici n "e/#e:a y llena esto es #na gran des*enta)a. 8na alternati*a "ara #na "osi!le sol#ci n a esta des*enta)a "#ede ser lo /#e se il#stra en la i$agen anterior &!' donde se "#ede *er /#e se $antiene #na sola cola de asignaci n "ara /#e cada /#e se li!era #na "artici n, se seleccionar4 el "roceso #!icado en la "artici n sig#iente in$ediata "ara ser e)ec#tada. Dentro del desarrollo "ara los siste$as de tie$"o co$"artido, la sit#aci n se torna de for$a distinta "ara la $#lti"rogra$aci n de "articiones *aria!les. 7a des*enta)a de este $=todo consiste en /#e en $#chas ocasiones no existir4 la cantidad s#ficiente de $e$oria "rinci"al "ara al$acenar todos los "rocesos /#e se enc#entren acti*os. Se "odr4 #tili3ar la ad$inistraci n de $e$oria, de"endiendo del hardware dis"oni!le. Existen dos estrategias "ara este $=todo #na se #tili3a "ara !#scar y cargar en la $e$oria cada "roceso en s# totalidad "ar /#e se "#eda e)ec#tar d#rante el tie$"o /#e sea necesario "ara /#e des"#=s se "#eda colocar de n#e*a c#enta so!re el disco, a esta estrategia co$En$ente se le conoce co$o lla$adas de interca$!io. 7a seg#nda estrategia conocida co$o $e $e$oria *irt#al, "er$ite e)ec#tar a los "rogra$as a "esar de /#e estos se enc#entren "arcial$ente en $e$oria "rinci"al. El f#nciona$iento de #n siste$a con "articiones *aria!les los "ri$eros o el "ri$er "roceso se cargan en la $e$oria creando la "artici n, "ara dar seg#i$iento a los de$4s "rocesos creando las "articiones en la $e$oria de ac#erdo a la necesidad del "roceso y li!er4ndola al t=r$ino de cada "roceso cargado, en la sig#iente i$agen se "#ede o!ser*ar #n claro e)e$"lo del #so de "articiones *aria!les, donde se carga #n solo "roceso y crea la "artici n /#e #tili3ar4 &a', "osterior$ente se "#eden cargar de$4s "rocesos asignando el es"acio dentro de la $e$oria &!', seg#ido se $#estra el acceso

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

2@

Programacin de sistemas operativos


Programa desarrollado

de #n tercer "roceso #tili3ando el es"acio asignado "ara este &c', 7#ego sale el "roceso +, de)ando el es"acio li!re "ara de)ar el "aso al "roceso D &d,e', %osterior$ente ter$ina ; y entra E &f,g'.

I$agen <. +signaci n de $e$oria $ediante la $#lti"rogra$aci n de "articiones *aria!les. &Tanen!a#$, 2??,D ,1-' %ara la asignaci n de $e$oria /#e se $#estra en la i$agen anterior, se "#ede o!ser*ar /#e $ientras los "rocesos entran en $e$oria y salen el es"acio se li!era "ara de)arlo listo "ara el sig#iente "roceso /#e se $ande lla$ar. El ta$a:o de estas "articiones "#ede *ariar, tiene la flexi!ilidad de no estar li$itado a la cantidad de "articiones fi)as esta!lecidas "ara la asignaci n de "rocesos.

1%2% % )emoria real


7a $e$oria real o "rinci"al, es donde se g#ardan los datos y se e)ec#tan los "rogra$as, "or lo general esta $e$oria es *ol4til. 7a C%8 extrae instr#cciones de la $e$oria de ac#erdo con el *alor del contador de "rogra$a, d#rante el ciclo de e)ec#ci n de algEn "roceso de!era extraer la instr#cci n de la $e$oria la c#al se decodifica y "#ede hacer /#e se "rocesen #na serie de o"eraciones. El res#ltado de ha!er e)ec#tado esas o"eraciones, se al$acena de n#e*o en la $e$oria. Co$En$ente el costo de esta $e$oria es de $ayo costo /#e la $e$oria sec#ndaria, "ero la gran diferencia est4n en /#e la $e$oria real es de r4"ido acceso a la infor$aci n contenida, la $e$oria cache es la Enica /#e "odra llegar a ser $#cho $4s r4"ida /#e la "rinci"al "ero s# costo ta$!i=n es aEn $ayor /#e las $e$orias real y sec#ndaria. 7a organi3aci n y ad$inistraci n de la $e$oria real de #n siste$a ha sido y es #no de los factores $4s i$"ortantes en el dise:o de los siste$as o"erati*os. (#y a $en#do los t=r$inos $e$oria y al$acena$iento se consideran e/#i*alentes, los "rogra$as y datos

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

,?

Programacin de sistemas operativos


Programa desarrollado

de!en estar en el al$acena$iento "rinci"al "ara "oderlos e)ec#tar y referenciarlos directa$ente. Se considera al$acena$iento sec#ndario o a#xiliar al /#e es so"ortado "or lo general en discos, la "arte del siste$a o"erati*o /#e ad$inistra la $e$oria se lla$a +d$inistrador de la $e$oria. 7le*a #n registro de las "artes de $e$oria /#e se est4n #tili3ando y de a/#ellas /#e no, asigna es"acio en $e$oria a los "rocesos c#ando estos la necesitan y li!era es"acio de $e$oria asignada a "rocesos /#e han ter$inado. En lo /#e res"ecta a la reasignaci n de direcciones, el contenido del registro frontera indicar4 el "#nto a "artir del c#al "#ede cargarse el "rogra$a del #s#ario. %ara ello ser4 necesario reasignar las direcciones del "rogra$a en f#nci n de la frontera, existiendo dos for$as de hacerlo, #na est4tica y otra din4$ica. 7a asignaci n est4tica se reali3a d#rante la co$"ilaci n o !ien d#rante la carga del "rogra$a en $e$oria. Esto i$"lica /#e c#al/#ier *ariaci n del ta$a:o del siste$a o"erati*o exigir4 #na n#e*a co$"ilaci n o carga del "rogra$a. Es #na t=cnica f4cil de lle*ar a ca!o "ero de$asiado rgida. 7a alternati*a es asignar las direcciones reales din4$ica$ente d#rante la e)ec#ci n. 8n dis"ositi*o hardware es"ecial interce"tar4 cada direcci n l gica generada "or el "rogra$a y le s#$ar4 el contenido del registro frontera. El res#ltado ser4 la direcci n real corres"ondiente co$o se "#ede o!ser*ar en la fig#ra C. Con esta t=cnica el #s#ario no "odr4 $ane)ar direcciones reales. S# "rogra$a #tili3ar4 direcciones relati*as /#e "odr4n *ariar de ? al $4xi$o "er$itido "or el siste$a o"erati*o. Este ser4 s# es"acio l gico de direcciones.

Fig#ra C. 5easignaci n din4$ica &(orera y %=re3, 2??2D 2<2'

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

,1

Programacin de sistemas operativos


Programa desarrollado

%osterior$ente, el siste$a con la ay#da del hardware esta!lecer4 la corres"ondencia con el es"acio fsico de direcciones. El c#al estar4 li$itado "or la direcci n frontera y el ta$a:o de la $e$oria real. Esta se"araci n entre la *isi n del #s#ario &es"acio l gico', y la $e$oria real &es"acio fsico', "er$ite gestionar =sta con $ayor eficacia.

1%2%!% )emoria virtual


7a $e$oria *irt#al tiende a si$"lificar y facilitar la tarea de "rogra$aci n, "#es con esta alternati*a de $e$oria ya no li$ita a la cantidad de $e$oria fsica dis"oni!le. 7a $e$oria *irt#al incl#ye la se"araci n de $e$oria l gica y fsica, esta di*isi n "er$ite "ro"orcionar a los "rogra$adores #na $e$oria *irt#al extre$ada$ente grande, c#ando solo se tiene dis"oni!le #na $e$oria fsica de $enor ta$a:o. 7a $e$oria *irt#al contiene es"acios de direcciones *irt#ales de #n "roceso /#e hace referencia a la for$a l gica de al$acenar #n "roceso en la $e$oria, las *enta)as de la $e$oria *irt#al son considera!les e i$"ortantes "ara la asignaci n de "rocesos. 7a $e$oria *irt#al tiene la "osi!ilidad de "oder ser #tili3ada en #n siste$a de $#lti"rogra$aci n, $anteniendo seg$entos de $#chos "rogra$as dentro. En lo /#e #n "rogra$a est4 es"erando /#e se extraiga a $e$oria #na de s#s "artes esta a la es"era de E1S y $ientras no "#ede e)ec#tarse, "or lo /#e "odr4 otorgarse la C%8 a otro "roceso, lo $is$o /#e en c#al/#ier otro siste$a de $#lti"rogra$aci n. (ientras el siste$a reali3a!a el tra!a)o real de interca$!iar los rec#!ri$ientos, el "rogra$ador tena /#e encargarse de di*idir en tro3os a"ro"iados el "rogra$a. 7a tarea de di*idir "rogra$as grandes en "e/#e:os tro3os $od#lares era la!oriosa y tediosa. 7a idea !4sica de la $e$oria *irt#al es /#e el ta$a:o co$!inado del "rogra$a, s#s datos y s# "ila "#eden exceder la cantidad de $e$oria fsica dis"oni!le. El siste$a o"erati*o $antiene en la $e$oria "rinci"al a/#ellas "artes del "rogra$a /#e se est4n #sando en cada $o$ento, $anteniendo el resto de las "artes del "rogra$a en el disco. %or e)e$"lo, #n "rogra$a de 1< (; "#ede e)ec#tarse so!re #na $4/#ina de -(; eligiendo c#idadosa$ente /#e - (; se tendr4n en la $e$oria en cada instante, e interca$!iando "artes del "rogra$a entre el disco y la $e$oria, segEn sea necesario. 7a $e$oria *irt#al "#ede f#ncionar ta$!i=n en #n siste$a $#lti"rogra$ado, con di*ersos frag$entos de $#chos "rogra$as en $e$oria a la *e3. (ientras #n "rogra$a es"era a /#e se traiga del disco #na "arte de s $is$o, est4 es"erando "or #na E1S y no "#ede e)ec#tarse, "or lo /#e de!e asignarse la C%8 a otro "roceso de la $is$a for$a /#e en c#al/#ier otro siste$a $#lti"rogra$ado.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

,2

Programacin de sistemas operativos


Programa desarrollado

7a sig#iente i$agen $#estra el c#$#lo de $e$oria, "#es es #tili3ada "ara la asignaci n din4$ica de $e$oria. Este $=todo "er$ite /#e la "ila cre3ca hacia a!a)o en la $e$oria con las s#cesi*as lla$adas a f#nci n.

Fig#ra @. Es"acios de las direcciones en $e$oria *irt#al &Sil!erschat3, 2??<D 2C1' El es"acio *aco entre el cE$#lo y la "ila for$a "arte de la $e$oria *irt#al, los es"acios de estas direcciones incl#yen es"acios de direcciones dis"ersos, este ti"o de direcciones tienen a *enta)a "#es se "#ede #tili3ar #n es"acio dis"erso, "#es estos h#ecos "#eden llenarse a $edida /#e crecen los seg$entos de "ila. +"arte de /#e es se"arada la $e$oria l gica y fsica, la $e$oria *irt#al ta$!i=n, "er$ote /#e dos o $4s "rocesos co$"artan los archi*os y la $e$oria $ediante $ecanis$os de co$"artici n de "4ginas. Este ti"o de dis"ersi n de es"acio tiene #na serie de *enta)as entre las c#ales se "#ede clasificar. 7as !i!liotecas del siste$a se "#eden co$"artir con otros "rocesos, la $e$oria *irt#al facilita a los "rocesos co$"artir la $e$oria fsica y "er$ite /#e #n "roceso cree #na regi n de $e$oria /#e los "#eda co$"artir con otros "rocesos, ade$4s de /#e se co$"arten "4ginas d#rante la creaci n de "rocesos $ediante la lla$ada al siste$a incre$entando la creaci n de tareas y e)ec#ci n de "rocesos.

*ctividad 6% )apa conceptual del mane>o de la memoria


%ara la reali3aci n de esta acti*idad reto$ar4s lo /#e has a"rendido hasta este $o$ento res"ecto a la $e$oria, s# f#nci n y c $o es #tili3ada en #n siste$a o"erati*o. (ealiDa los sig#ienteD 1. -la:ora #n $a"a conce"t#al /#e $#estre el f#nciona$iento y $ane)o de la

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

,,

Programacin de sistemas operativos


Programa desarrollado

$e$oria en #n siste$a o"erati*o. $ncluCe ele$entos de s# )erar/#a, los ti"os de $e$oriaB as co$o del f#nciona$iento de "articiones fi)as y *aria!les. 2. ,uarda la acti*idad con el no$!re %S2P81P+,PLLJT en donde LL re"resenta t# a"ellido&s' y JJ t# no$!re&s' 3. -nv;a el archi*o a t# Facilitador&a' $ediante la herra$ienta /areas "ara reci!ir retroali$entaci n.

1%6% -ntrada " Salida


7a ad$inistraci n de dis"ositi*os de Entrada 1Salida, res#lta ser #n te$a $#y a$"lio en el dise:o de los siste$as o"erati*os, se la entrada 1 salida &E1S', #na a$"lia *ariedad de dis"ositi*os y s#s *ariadas dis"ositi*os y s#s di*ersidad de a"licaciones. 8na de las "rinci"ales f#nciones de la ad$inistraci n de dis"ositi*os es el controlar todos los dis"ositi*os de E1S, el siste$a o"erati*o de!e en*iar co$andos a los dis"ositi*os, atender las interr#"ciones y gestionar los errores /#e se generan. 7os dis"ositi*os externos de E1S /#e interactEan con las co$"#tadoras "#eden clasificarse en las sig#ientes categorasD Dis"ositi*os fsicos "ara h#$anos, este ti"o de dis"ositi*os son "ro"ia$ente "ara esta!lecer la co$#nicaci n co$"#tadoraG#s#ario. 8nos de los "rinci"ales e)e$"los se tiene. Teclado, $o#se, "antalla, ter$inar de lector laser, etc. Dis"ositi*os "ara $4/#ina, los dis"ositi*os "ara $4/#ina son los /#e se #tili3an "ara co$#nicar las "artes electr nicas entre co$"#tadoraGsiste$a, co$o discos, tar)etas de *ideo, controladores. Dis"ositi*os de caracteres, Estos dis"ositi*os "ro"orcionan o ace"ta #n fl#)o de caracteres, sin tener en c#enta ning#na estr#ct#ra de !lo/#e. Co$En$ente este ti"o de dis"ositi*os son los /#e se conocen co$o $ane)adores de los dis"ositi*os co$o son los )river o controladores.

Cada dis"ositi*o tiene s#s "ro"ias caractersticas de ac#erdo a s# clasificaci n de "ertenencia, cada #na de estas diferencias !4sica$ente se enfoca en la *elocidad de los datos, "or lo /#e es $#y "osi!le #na gran diferencia de *arios datos de trans$isi n. 7as a"licaciones son ta$!i=n #na de las diferencias de los dis"ositi*os, "#es "or lo general cada ti"o de dis"ositi*o necesita s# "ro"io software /#e ser4 de #tilidad "ara el siste$a

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

,-

Programacin de sistemas operativos


Programa desarrollado

o"erati*o "oder gestionar el dis"ositi*o, la co$"le)idad del control es necesario "oder contar con la interfa/ de control al dis"ositi*o.

1%6%1% Principios de 9ardware C software de $ " O


Es $#y co$En el tener diferentes "ers"ecti*as res"ecto al hardware y software de E1S, de"endiendo el ti"o de $ane)o /#e se realice de for$a directa con los dis"ositi*os ser4 el "#nto de *ista /#e se tenga referente hacia este t=r$ino, res#lta /#e #n "rogra$ador no tendr4 el $is$o "#nto de *ista /#e #n ingeniero en electr nica de dis"ositi*os de E1S. 8no lo *e co$o la "arte fsica tangi!le /#e "#ede interact#ar con la $a/#ina, y #n "rogra$ador es /#ien dise:a esa "arte intangi!le "ero es la relaci n tar)eta U$a/#ina. 7os dis"ositi*os de E1S se "#eden di*idir en dos grandes gr#"osD Dis"ositi*os "or !lo/#es. Es el encargado de de al$acenar la infor$aci n en !lo/#es de ta$a:o fi)o, cada #no de ellos de!er4 contar con s# "ro"ia direcci n. Dis"ositi*os "or caracteres. Este ti"o de dis"ositi*o es el /#e se encarga de "ro*eer y ace"tar #na serie de caracteres /#e son con*ertidos en corriente el=ctrica, este ti"o de dis"ositi*os no considera la estr#ct#ra de !lo/#e /#e conte$"la el anterior ti"o de dis"ositi*os, ta$"oco tiene la "osi!ilidad de ser direcciona!le ni "#ede reali3ar la !Es/#eda.

Existen *arios dis"ositi*os /#e no se conte$"lan este ti"o de clasificaci n "#es "or lo general no se "#eden a)#star a esta clasificaci n. 8n e)e$"lo claro de ello, son los relo)es este ti"o de dis"ositi*os no est4n considerados co$o dis"ositi*os "or !lo/#es ni ta$"oco co$o dis"ositi*os "or caracteres, s# f#nci n "rinci"al de los relo)es consiste en s#$inistrar interr#"ciones a inter*alos /#e ya est=n definidos. En lo /#e res"ecta al software el "rinci"al o!)eti*o de este dis"ositi*o de E1S, es "r4ctica$ente sencillo de "lantear, "#es se de!e organi3ar el software $ediante ca"as /#e "#edan ser #tili3adas "ara esta!lecer la "rioridad del hardware, "ara /#e las s#"eriores sean las encargadas de esta!lecer la interfa/ con el siste$a lo c#al ay#da a co$#nicar de for$a $4s 4gil el dis"ositi*o U siste$a. En el 4$!ito de software, existe #n conce"to cla*e "ara "oder dise:ar el software de E1S, lla$ado inde"endencia del dis"ositi*o. El c#al tiene la #tilidad de /#e los "rogra$as "#edan interact#ar entre dis"ositi*o hardware y dis"ositi*o software, "ara /#e esto "#eda f#ncionar el siste$a o"erati*o de!er4 tener la facilidad de resol*er los "ro!le$as ca#sados "or las diferencias de dis"ositi*os.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

,0

Programacin de sistemas operativos


Programa desarrollado

7os errores /#e se $ane)an dentro del software de E1S, se de!en $ane)ar lo $4s cercano "osi!le del hardware. C#ando el controlador desc#!re #n error de lect#ra de!er4 tratar de corregirlo, de lo contrario el siste$a o"erati*o es /#ien "odra tratar de corregirlo. (#chas ocasiones los errores son transitorios al $o$ento de la lect#ra de E1S, y estos "or lo general se sol#cionan reiniciando el "roceso de lect#ra de cada dis"ositi*o. 8no de los as"ectos cla*es es c#ando oc#rre la transferencia, ya "#ede ser "or !lo/#eo o controladas "or interr#"ciones. El dis"ositi*o de E1S fsico es "or lo general asncrona, tal co$o la C%8 /#e inicia la transferencia y se li!era $ientras esta a la es"era de #na n#e*a interr#"ci n. 7os "rogra$as "or lo general res#ltan ser sncronas, des"#=s del co$ando de lect#ra, el "rogra$a se detiene hasta la dis"oni!ilidad de datos. 7os dis"ositi*os de #so excl#si*o y no excl#si*o, son #tili3ados "or lo general al $is$o tie$"o ya /#e no existen conflictos de $antener a!iertos *arios archi*os en el disco al $is$o tie$"o. 7as #nidades de cinta es #n e)e$"lo de dis"ositi*os excl#si*o ya /#e solo #n "roceso de lect#ra "#ede estar acti*o a la *e3.

1%6%2% Dispositivos C mane>adores de dispositivos


7os dis"ositi*os )#egan #n "a"el $#y i$"ortante en el desarrollo de siste$as o"erati*os "#es sir*en "ara introd#cir datos, estos datos se leer4n "or los dis"ositi*os de entrada y se al$acenan en la $e$oria "rinci"al. 7os dis"ositi*os de E1S se "#eden agr#"ar en tres categorasD Dispositivos legi:les para los usuarios% Son a/#ellos dis"ositi*os /#e "er$iten la co$#nicaci n entre los #s#arios y la co$"#tadora. Dentro de este gr#"o se incl#yen todos los dis"ositi*os /#e sir*en "ara "ro"orcionar interfa3 con el #s#ario, tanto "ara entrada &rat n, teclado, $onitor +ouchScreen, scanner, lectores de h#ella, etc.' co$o "ara salida &i$"resoras, "antalla, etc.'. Dispositivos de almacenamiento% Son #tili3ados "ara a!astecer el al$acena$iento no *ol4til de datos y $e$oria. S# "rinci"al f#nci n consiste en "ro*eer los datos y al$acenar en los "rogra$as /#e se e)ec#tan en la C%8. Dispositivos de comunicaciones% %er$iten conectar a la co$"#tadora con otras co$"#tadoras a tra*=s de #na red. 7os dos ti"os de dis"ositi*os $4s i$"ortantes de esta clase son los $ de$, "ara co$#nicaci n *a red telef nica, y las tar)etas de interfa3 a la red, "ara conectar la co$"#tadora a #na red de 4rea local.

7os dis"ositi*os de ac#erdo a s# f#nci n se "#eden clasificar de la sig#iente $aneraD

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

,<

Programacin de sistemas operativos


Programa desarrollado

Dis"ositi*os de E1S "rogra$ada. (ientras el "rocesador se enc#entra en e)ec#ci n de E1S, e$ite la se:al "ara /#e el "roceso este a la es"era del t=r$ino de la o"eraci n "ara "oder contin#ar con s# e)ec#ci n. Dis"ositi*os de E1S "or interr#"ciones. El "rocesador es el encargado de e$itir la orden de E1S "ara los "rocesos, estos se e)ec#tan las instr#cciones y son interr#$"idos al finali3ar s# tra!a)o. +cceso directo a $e$oria &)M''. Este $od#lo "#ede controlar el interca$!io de datos entre la $e$oria "rinci"al y #n $od#lo de E1S.

7a $ayora de las #nidades de E1S constan nor$al$ente de #n co$"onente $ec4nico y #n co$"onente electr nico. En la $ayora de los casos es "osi!le se"arar las dos "artes y tener #n dise:o $4s $od#lar y general. El co$"onente electr nico se deno$ina controlador del dis"ositi*o o $ane)ador. En #na co$"#tadora el co$"onente electr nico llega a ser #na tar)eta de circ#ito i$"reso el c#al "#ede a)#starse en alg#na ran#ra de ex"ansi n, donde el co$"onente $ec4nico es el dis"ositi*o en s, la organi3aci n de los dis"ositi*os se "#ede e)e$"lificar en la fig#ra 1,.

I$agen >. +lg#nos de los co$"onentes de #n ordenador "ersonal sencillo. &Tanen!a#$, 2??,D 2>2' El $ane)ador del dis"ositi*o se "ro*ee #s#al$ente de #n conector en el c#al "#ede conectarse #n ca!le /#e *a al dis"ositi*o. (#chas controladoras "#eden $ane)ar dos, c#atro o incl#so ocho dis"ositi*os id=nticos. Si la interfa3 entre la controladora y el dis"ositi*o es #n interfa3 est4ndar, ya sea #n est4ndar +ASI, IEEE o IS2 oficial, o #n est4ndar de facto, eso "er$ite /#e c#al/#ier fa!ricante de hardware "#eda $an#fact#rar controladores o dis"ositi*os /#e se a)#sten a esa interfa3. %or e)e$"lo, $#chas co$"a:as de hardware fa!rican #nidades de disco co$"ati!les con la interfa3 IDE o SCSI.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

,>

Programacin de sistemas operativos


Programa desarrollado

7a interfa3 entre el controlador y el dis"ositi*o es a $en#do #na interfa3 de $#y !a)o ni*el. %or e)e$"lo, #n disco "#ede for$atearse con 20< sectores de 012 !ytes "or "ista. Sin e$!argo, lo /#e en realidad sale de la #nidad es #n fl#)o de !its en serie /#e co$ien3a "or #n "re4$!#lo, seg#ido de los -?@< !its de #n sector y ter$inando con #na s#$a de *erificaci n &chec sum', ta$!i=n lla$ada #n c digo de correcci n de errores &-CCB 0rror-Correcting Code'. El "re4$!#lo se escri!e c#ando se for$atea el disco, y contiene el nE$ero de cilindro y de sector, el ta$a:o del sector y datos si$ilares, as co$o infor$aci n de sincroni3aci n. 7a tarea del controlador consiste en con*ertir ese fl#)o de !its en serie en #n !lo/#e de !ytes y reali3ar c#al/#ier correcci n de errores /#e sea necesaria. Aor$al$ente "ri$ero se ensa$!la el !lo/#e de !ytes, !it a !it, en #n !Efer /#e est4 dentro del controlador. 8na *e3 co$"ro!ado s# chec sum y declarado el !lo/#e li!re de errores, "#ede "rocederse a co"iarlo en la $e$oria "rinci"al. + #n ni*el ig#al de !a)o, el controlador de #n $onitor &C5T T#!o de rayos cat dicos', ta$!i=n o"era co$o #n dis"ositi*o de !its en serieD lee de la $e$oria !ytes /#e contienen los caracteres a *is#ali3ar y genera las se:ales /#e sir*en "ara $od#lar el ha3 de electrones del C5T "ara "rod#cir la escrit#ra en la "antalla. El controlador genera ta$!i=n las se:ales /#e hacen /#e el ha3 del C5T efectEe #n retrasado hori3ontal al ter$inar cada !arrido de #na lnea, as co$o las se:ales /#e reali3an el retrasado *ertical #na *e3 /#e se ha !arrido toda la "antalla. Si no f#era "or el controlador del C5T, el "rogra$ador del siste$a o"erati*o tendra /#e "rogra$ar de for$a ex"lcita el !arrido anal gico del t#!o de i$agen del $onitor. Con el controlador, el siste$a o"erati*o iniciali3a el controlador con #nos "ocos "ar4$etros, tales co$o el nE$ero de caracteres o "xeles "or lnea y el nE$ero de lneas de la "antalla, y de)a /#e el controlador sea real$ente /#ien se encarg#e de dirigir el ha3 del C5T. Existe #na gran *ariedad de controladores y ti"os de "erif=ricos, "or lo c#al es frec#ente encontrar $4s de #n controlador "osi!le "ara el $is$o dis"ositi*o, cada #no ofreciendo #n ni*el distinto de f#ncionalidades. 7os $ane)adores de dis"ositi*os son $#y *ariados, casi tanto co$o los dis"ositi*os de E1S. (#chos de ellos, co$o los de disco, "#eden controlar $Elti"les dis"ositi*os

1%6%6% )ecanismos C funciones de mane>adores de dispositivos


7as f#nciones de $ane)adores de los dis"ositi*os de entrada y salida consisten en #n co$"onente $ec4nico y otro el=ctrico, en la $ayora de las ocasiones se "#eden se"ara las dos "artes con el o!)eti*o de contar con el dise:o $od#lar y general. 7a "arte el=ctrica se no$!ra ada"tador de dis"ositi*o "or lo general al ha!lar de la "arte el=ctrica se "#ede a"reciar #na tar)eta de circ#itos i$"resos /#e se "#ede insertar en #na ran#ra de la

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

,C

Programacin de sistemas operativos


Programa desarrollado

tar)eta de la co$"#tadora, este co$"onente ta$!i=n se "#ede considerar co$o co$"onente $ec4nico. 7a $ayora de los controladores "#eden $ane)ar #no o *arios dis"ositi*os id=nticos, Si la interfa3 es de $is$o ti"o est4ndar con la controladora se "odr4n a)#star "ara s# f#nciona$iento. (#chas de las ocasiones en los "rocesos de E1S de dis"ositi*os el siste$a o"erati*o sie$"re interact#a con el controlador y no con el dis"ositi*o. 7a sig#iente i$agen $#estra la for$a de c $o se interconectan los dis"ositi*os.

I$agen C. (odelo !4sico, "ara la i$"le$entaci n de dis"ositi*os, entre la C%8 y los controladores de dis"ositi*os de E1S. &Tanen!a#$, 2??,D 100' 7a co$#nicaci n entre la C%8 y los controladores #tili3a #n 1us de co$#nicaci n si$"le, "ero en e/#i"os de $acro co$"#tadoras "or lo general #tili3an #n $odelo $#y distinto co$o "osi!les 1us $Elti"les de datos. 7a acti*idad del controlador est4 en con*ertir #n fl#)o de 1its a #n !lo/#e de !ytes y reali3a las acciones de correcci n de errores necesarias, "or lo general, se *a ar$ando "or !lo/#es de 1ytes en #n 1uffer dentro del controlador. El controlador tiene alg#nos registros /#e se "#eden #tili3ar "ara co$#nicar con la C%8, en alg#nas co$"#tadoras los registros for$an "arte del es"acio de direcciones de la $e$oria !4sica, lo /#e se conoce co$o $a"eo de $e$oria de E1S. 7os controladores de dis"ositi*os, el c digo de"endiente se alo)a dentro de estos, cada controlador ad$inistra #n ti"o de dis"ositi*o o clase de dis"ositi*os si$ilares. En t=r$inos generales, el controlador de dis"ositi*os de software ace"ta "eticiones del software inde"endiente al dis"ositi*o "ara /#e "#edan ser atendidas, las "eticiones $4s co$#nes es el leer #n !lo/#e n Si algEn controlador est4 dis"oni!le o li!re al llegar #na "etici n inicia atendi=ndola, "ero si se encontrara oc#"ado en otra "etici n a la llegada de #na n#e*a esta la colocar4 en la cola de "eticiones y lo de)ar4 co$o "endiente hasta /#e sea atendida. 7o "ri$ero /#e se reali3a "ara atender la "etici n de E1S, se de!e trad#cir de t=r$inos a!stractos a concretos. Esto de!er4 calc#lar en /#e "arte del $od#lo el "roceso se enc#entra #!icado, "ara decidir la "rioridad de o"eraciones del hardware. +l decidir la "rioridad se co$ien3a a generar la escrit#ra en los registros de dis"ositi*os de este.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

,@

Programacin de sistemas operativos


Programa desarrollado

7a C%8 necesitar4 direccionar los controladores de dis"ositi*os "ara interca$!iar datos con ellos, "#ede solicitar datos del controlador de E1S !yte a !yte, "ero haci=ndolo as estara des"erdici4ndose $#cho tie$"o de C%8. %or ese $oti*o nor$al$ente se #tili3a #n es/#e$a diferente, deno$inado acceso directo a $e$oria &D(+B )irect Memory 'ccess'. El siste$a o"erati*o s lo "#ede #tili3ar D(+ si el hardware dis"one de #n controlador de D(+, "or lo /#e la $ayora de los siste$as c#entan con =l. + *eces ese controlador est4 integrado en los controladores de disco o en otros controladores, "ero tal dise:o significa tener #n controlador de D(+ "or cada dis"ositi*o. (4s co$En$ente, se tiene #n Enico controlador de D(+ &"or e)e$"lo en la "laca $adre' "ara reg#lar las transferencias con $Elti"les dis"ositi*os, a $en#do de for$a conc#rrente. IVLD2TL7H8 LE7FDF7yK It67FD H2 F5K9852DF58 FH W?X 97HKH DFFH65 D2 EL6 FH2 6769H%D inde"endiente$ente de la C%8, co$o se $#estra en la sig#iente i$agen. El controlador contiene *arios registros en los /#e la C%8 "#ede leer y escri!ir. Ystos incl#yen #n registro de direcci n de $e$oria, #n registro contador de !ytes y #no o $4s registros de control. 7os registros de control es"ecifican el "#erto de E1S /#e se #tili3ar4, la direcci n de la transferencia &leyendo del dis"ositi*o de E1S o escri!iendo en el dis"ositi*o de E1S', la #nidad de transferencia &#n !yte a la *e3 o #na "ala!ra a la *e3' y el nE$ero de !ytes TLH 6H 98DK6IH878iK HK FDFD 8iID.DN >DKHKEDL% 2??,D 2><'

I$agen @. F#nciona$iento de #na transferencia con D(+. &Tanen!a#$, 2??,D 2><' El controlador es el encargado de leer el !lo/#e de cada sector de la #nidad, hasta /#e est= todo el !lo/#e en el !Efer interno del controlador. %osterior$ente se calc#lar4 checQs#$ "ara *alidar /#e no se "rod#cir4n errores de lect#ra /#e "#dieran "ro*ocar interr#"ciones. +l e)ec#tar el siste$a o"erati*o "odr4 leer ya el !lo/#e de disco del !Efer de la controladora.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

-?

Programacin de sistemas operativos


Programa desarrollado

1%6% % -structura de datos en el mane>o de dispositivos


Dentro de #na co$"#tadora t"ica, la estr#ct#ra de las interr#"ciones es co$o se $#estra en la fig#ra 10, a ni*el de hardware, las interr#"ciones f#ncionan co$o se descri!e a contin#aci nD #na *e3 /#e el dis"ositi*o ter$ina el "roceso de infor$aci n /#e se le orden , "ro*oca #na interr#"ci n &considerando /#e el siste$a o"erati*o es /#ien ha!ilita las interr#"ciones'. Esto lo hace a"licando #na se:al a #na lnea del !#s /#e se le asign . El chi" controlador de interr#"ciones sit#ado en la "laca $adre detecta esa se:al y decide lo /#e se *a hacer a contin#aci n.

I$agen 1?. Estr#ct#ra !4sica "ara la re"resentaci n de la estr#ct#ra de $ane)o de dis"ositi*os. &Tanen!a#$, 2??,D 2C<' 7a i$agen $#estra la for$a en la /#e se "rod#ce #na interr#"ci n. En la realidad las conexiones entre los dis"ositi*os y el controlador de interr#"ciones #tili3an lneas del !#s en *e3 de ca!les dedicados. Si no hay otras interr#"ciones "endientes, el controlador de interr#"ciones "rocesa la interr#"ci n in$ediata$ente. Si est4 atendi=ndose alg#na otra interr#"ci n en ese $o$ento, o si otro dis"ositi*o ha reali3ado #na "etici n si$#lt4nea so!re #na lnea de "etici n de interr#"ci n de $ayor "rioridad, el "ri$er dis"ositi*o ser4 ignorado $o$ent4nea$ente. En este caso, el dis"ositi*o seg#ir4 a"licando la se:al de interr#"ci n al 1us hasta /#e reci!a de la C%8 el ser*icio deseado. %ara gestionar la interr#"ci n, el controlador *#elca #n nE$ero en las lneas de direcci n del 1us es"ecificando /#= dis"ositi*o re/#iere atenci n y a"lica #na se:al /#e interr#$"e a la C%8. 7a estr#ct#ra de datos en el $ane)o de dis"ositi*os se $ane)a la sig#iente clasificaci nD

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

-1

Programacin de sistemas operativos


Programa desarrollado

-structura simpleD Es la /#e se !asa en el acceso a o"eraciones !4sicas de entrada1salida "ara escri!ir directa$ente en "antalla o disco, lo /#e se le no$!ra co$o li!re acceso, otra estr#ct#ra si$"le es la se"araci n del Qernel y los "rogra$as de siste$as. -structura por capasD Esta estr#ct#ra se !asa en n#e*as *ersiones tales co$o #nix donde se dise:aron "ara hardware $4s a*an3ado, "ara dar $ayor so"orte al $is$o hardware. 7a *enta)a de la estr#ct#ra "or ca"as es /#e cada ca"a c#$"le con #na serie de f#nciones y ser*icios /#e !rinda a las otras ca"as, esto "er$ite #na $e)or organi3aci n del siste$a o"erati*o y #na de"#raci n $4s f4cil de este. Existen estr#ct#ras /#e se generan en $e$oria d#rante la e)ec#ci n de los "rocesos relacionadas con el #so /#e estos hacen de los archi*os. El siste$a "osee #na ta!la general de archi*os a!iertos, donde se "rocesa la infor$aci n so!re los archi*os acti*os e ndices de referencia al archi*o. 7a lla$ada al siste$a to$a el no$!re del archi*o !#sca en el directorio, co"ia la entrada del directorio en la ta!la de archi*os a!iertos. Todo esto si estas acciones son "er$itidas de ac#erdo a los $odos de "rotecci n del archi*o. En los siste$as $#lti#s#ario, #n archi*o "#ede ser a!ierto "or $4s de dos #s#arios si$#lt4nea$ente, cada #no con s# "#ntero. Existen dos ti"os de ta!las, la de "roceso, /#e contiene infor$aci n so!re los archi*os a!iertos "or el "roceso y contiene #n a"#ntador a la seg#nda ta!la, la de los archi*os a!iertos en todo el siste$a, esta seg#nda ta!la tiene infor$aci n inde"endiente del "roceso /#e lo e)ec#te co$o #!icaci n del archi*o en el disco. El siste$a o"erati*o "artiendo de s# estr#ct#ra "or ca"as, est4 organi3ado en c#atro ca"as, las c#ales tienen s# f#nci n "ro"ia$ente esta!lecida y #na interfa3 con la ca"a adyacente. 7a organi3aci n se estr#ct#ra en las sig#ientes ca"asD (ane)ador de interr#"ci n. +cti*a al $ane)ador al ter$inar la E1S. (ane)ador de dis"ositi*os o dri*ers. Inicia los registros del dis"ositi*o, co$"ro!ando el estado. Software de E1S inde"endiente de los dis"ositi*os. Este software est4 for$ado "or la "arte de alto ni*el de los $ane)adores, el gestor de cache, el gestor de !lo/#es y el ser*idor de archi*os. Interfa3 del siste$a o"erati*o. 7la$adas al siste$a /#e #san las a"licaciones de #s#ario. 7os $ane)adores de interr#"ci n, ad$inistran las interr#"ciones /#e generan los controladores de dis"ositi*os #na *e3 /#e =stos est4n listos "ara la transferencia de datos, o !ien han ledo o escrito los datos de $e$oria "rinci"al en caso de acceso directo a $e$oria. %ara ad$inistrar la interr#"ci n se e)ec#ta el $ane)ador de interr#"ci n /#e

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

-2

Programacin de sistemas operativos


Programa desarrollado

tendr4 co$o efecto es el de sal*ar los registros, co$#nicar el e*ento al $ane)ador del dis"ositi*o y resta#rar la e)ec#ci n de #n "roceso. C#ando #na interr#"ci n oc#rre $#y frec#ente$ente, caso del relo), o c#ando la cantidad de infor$aci n a transferir es $#y "e/#e:a, caso del teclado, sera $#y costoso co$#nicar sie$"re el e*ento al $ane)ador de dis"ositi*o asociado. En estos casos, el "ro"io $ane)ador de interr#"ci n registra la oc#rrencia del e*ento, !ien $ediante el incre$ento de #na *aria!le glo!al "ara el relo) o la ac#$#laci n de caracteres en #n 1uffer del teclado. 7os $ane)adores de dis"ositi*os, tienen #n $ane)ador asociado en el siste$a o"erati*o, dicho $ane)ador incl#ye #n c digo inde"endiente del dis"ositi*o /#e otorga al ni*el s#"erior del siste$a o"erati*o #na interfa3 de alto ni*el y el c digo de"endiente del dis"ositi*o necesario "ara "rogra$ar el controlador del dis"ositi*o a tra*=s de s#s registros y datos. 7a "rinci"al acti*idad de #n $ane)ador de dis"ositi*o es ace"tar las "eticiones en for$ato a!stracto, de la "arte del c digo de E1S inde"endiente del dis"ositi*o, trad#cir dichas "eticiones a t=r$inos /#e entienda el controlador, en*iar al $is$o las rdenes adec#adas en la sec#encia correcta y es"erar a /#e se c#$"lan.

1%6%!% Operaciones de - " S


En la $ayora de las a"licaciones, el archi*o es el ele$ento central. C#al/#iera /#e sea la finalidad de la a"licaci n, i$"licar4 la generaci n y #so de infor$aci n. Aor$al$ente cada siste$a dis"one de "rogra$as de #tilidad /#e se e)ec#tan co$o a"licaciones "ri*ilegiadas. Sin e$!argo, #n siste$a de gesti n de archi*os necesita co$o $ni$o alg#nos ser*icios es"eciales del siste$a o"erati*o. %ara la E1S "rogra$ada co$o la !asada en interr#"ciones, la C%8 de!e encargarse de reali3ar las o"eraciones de lect#ra y escrit#ra so!re ficheros. 7a lect#ra o !ien entrada de datos, "er$ite reci!ir *alores desde los dis"ositi*os o archi*os. 7a escrit#ra, reali3a la o"eraci n de escrit#ra de res#ltados en dis"ositi*os de salida o archi*os. E)e$"lificando so!re #n "roceso de #s#ario /#e desea leer !lo/#es de datos de #na cinta, #no cada *e3, siendo cada !lo/#e de 1?? !ytes. 7os datos *an a ser ledos en #na 3ona de datos del "roceso de #s#ario sit#ada en las direcciones *irt#ales 1??? a 1??@. 7a for$a si$"le de reali3ar sera e$itir #na orden de E1S a la #nidad de cinta y es"erar a /#e

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

-,

Programacin de sistemas operativos


Programa desarrollado

los datos est=n dis"oni!les. 7a es"era "odra ser acti*a o de $anera $4s "r4ctica, s#s"ender al "roceso en es"era de #na interr#"ci n. Existen dos "ro!le$as con este enfo/#eD El "rogra$a se /#eda colgado es"erando a /#e la o"eraci n de E1S ter$ine. Dific#lta las decisiones de interca$!io del siste$a o"erati*o. 7as #!icaciones *irt#ales 1??? a 1??@ de!en "er$anecer en $e$oria "rinci"al d#rante el c#rso de la transferencia del !lo/#e, de lo contrario "arte de los datos se "erder4n. Si #n "roceso e$ite #na orden de E1S, /#eda s#s"endido a la es"era del res#ltado, se le ex"#lsa antes de co$en3ar la o"eraci n y se !lo/#ea es"erando a /#e la o"eraci n ter$ine. (ientras tanto, la o"eraci n de E1S /#eda !lo/#eada es"erando a /#e el "roceso *#el*a a $e$oria, "ara e*itar este inter!lo/#eo, la $e$oria de #s#ario i$"lica en la o"eraci n de E1S de!e /#edar fi)a en la $e$oria "rinci"al, in$ediata$ente des"#=s de e$itir la "etici n de E1S, incl#so a#n/#e la o"eraci n de E1S se encole y "#eda no e)ec#tarse "or algEn tie$"o. +cceso directo a $e$oria &D(+'. 6arios controladores, los dis"ositi*os "or !lo/#es $ane)an el acceso directo a $e$oria o D(S. %ri$ero el controlador lee el !lo/#e de la #nidad en serie, !it "or !it, hasta /#e todo el !lo/#e est4 en el 1uffer interno del controlador. + contin#aci n, el controlador calc#la la s#$a de *erificaci n "ara co$"ro!ar /#e no oc#rrieron errores de lect#ra y l#ego ca#sa #na interr#"ci n. C#ando el siste$a o"erati*o co$ien3a a e)ec#tarse, "#ede leer el !lo/#e del disco del 1uffer del controlador !yte "or !yte o "ala!ra "or "ala!ra, e)ec#tando #n ciclo, ley=ndose en cada iteraci n #n !yte o #na "ala!ra de #n registro del controlador y al$acen4ndose en la $e$oria. 7a finalidad del D(+ es "ara li!erar a la C%8 de #n ciclo "rogra$ado donde se leen los !ytes del controlador #no "or #no "#es eso tiene "=rdida de tie$"o en la C%8, c#ando se #tili3a D(+ la C%8 "ro"orciona al controlador dos ele$entos de infor$aci n ade$4s de la direcci n en disco del !lo/#eD la direcci n de $e$oria donde de!e colocarse el !lo/#e y el nE$ero de !ytes /#e de!en transferirse, co$o se $#estra en la fig#ra 1>.

Fig#ra 1>. 8na transferencia D(+ es reali3ada total$ente "or el controlador &Tanen!a#$, 2??,D 10C'

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

--

Programacin de sistemas operativos


Programa desarrollado

El "rocedi$iento a seg#ir en #na o"eraci n de E1S con D(+ sonD %rogra$aci n de la o"eraci n de E1S. Se indica al controlador la o"eraci n, los datos a transferir y la direcci n de $e$oria so!re la /#e se efect#ar4 la o"eraci n. El controlador contesta ace"tando la "etici n de E1S. El controlador le ordena al dis"ositi*o /#e lea &"ara o"eraci n de lect#ra' #na cierta cantidad de datos desde #na "osici n deter$inada del dis"ositi*o a s# $e$oria interna. C#ando los datos est4n listos, el controlador los co"ia a la "osici n de $e$oria /#e tiene en s#s registros, incre$enta dicha "osici n de $e$oria y decre$enta el contador de datos "endientes de transferir. 7os "asos , y - se re"iten hasta /#e no /#edan $4s datos "or leer. C#ando el registro de contador est4 a cero, el controlador interr#$"e a la 8C% "ara in dicar /#e la o"eraci n de D(+ ha ter$inado. Inicio y control de los "rogra$as de canal. Estos "rogra$as residen en la $e$oria "rinci"al del C%8 y se e)ec#tan en el canal. 7a C%8 "#ede #tili3ar "ara estos fines, son las sig#ientesD Z ST+5T I12 Inicia #na o"eraci n de E1S. El ca$"o de direcci n de la instr#cci n se e$"lea "ara es"ecificar el canal y el dis"ositi*o de E1S /#e "artici"a en la o"eraci n. Z H+7T I12 Finali3a la o"eraci n del canal. Z TEST CH+AAE7 %r#e!a el estado del canal. Z TEST I12 %r#e!a el estado del canal, el s#!canal y el dis"ositi*o de E1S. 8na o"eraci n de E1S se inicia con la instr#cci n ST+5T I12. 7a #!icaci n del "rogra$a de canal en la $e$oria "rinci"al *iene definida en la "ala!ra de direcci n de canal &C'2: Channel 'ddress 2ord'.

*ctividad % Dispositivos de -ntrada C Salida


El "ro" sito de esta acti*idad es disting#ir los $ecanis$os y f#nciones de los $ane)adores de dis"ositi*os, identificando el hardware de E1S. %ara ello, realiDa lo sig#ienteD 1. $nvestiga acerca de los dis"ositi*os de E1S, as co$o la for$a en /#e interactEan con el siste$a, "ara "osterior$ente clasificarlos e identificar s#s $ane)adores. 2. ,uarda la acti*idad con el no$!re %S2P81P+-PLLJT. En donde LL es t# a"ellido &s' y JJ t# no$!re &s'.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

-0

Programacin de sistemas operativos


Programa desarrollado

,. -nv;a el archi*o a t# Facilitador&a' $ediante la secci n /areas "ara reci!ir retroali$entaci n.

*utoevaluacin
%ara refor3ar los conoci$ientos relacionados con los te$as /#e se a!ordaron en esta "ri$era #nidad del c#rso, es necesario /#e res#el*as el e)ercicio de a#toe*al#aci n. %ara ello, ingresa al a#la.

-videncia de aprendiDa>e% *dministracin del procesador2 memoria C los dispositivos de entrada C salida
D#rante la reali3aci n de esta acti*idad reto$ar4s lo est#diado en esta "ri$era #nidad, y tra!a)ar4s con los conce"tos !4sicos del c $o interactEa el Siste$a 2"erati*o con los dis"ositi*os de E1S y la ad$inistraci n del "rocesador de $e$oria. %ara ello, realiDa lo sig#ienteD 1. $nvestiga acerca de los te$as a!ordados d#rante la #nidad. 2. -la:ora #n c#adro sin "tico en el /#e integres los conce"tos !4sicos del c $o interactEa el Siste$a 2"erati*o con los dis"ositi*os de E1S y la ad$inistraci n del "rocesador de $e$oria. ,. Consulta la 0scala de 0valuacin /#e se enc#entra en la secci n Material de 'poyo "ara conocer los criterios de e*al#aci n. -. ,uarda t# archi*o con el no$!re %S2P81PE+PLLJJ. En donde LL es t# a"ellido&s' y JJ t# no$!re&s' 0. -nv;a el archi*o a t# Facilitador&a' $ediante la secci n portafolio de evidencias "ara reci!ir retroali$entaci n. [ 5ec#erda /#e de ser necesario y en !ase a los co$entarios hechos "or "arte de t# Facilitador&a', "odr4s en*iar #na seg#nda *ersi n de t# acti*idad. Ao ol*ides cons#ltar la Escala de e*al#aci n /#e encontrar4s en la "esta:a (aterial de a"oyo "ara sa!er los "#ntos /#e tienes /#e considerar en el desarrollo de t# acti*idad

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

-<

Programacin de sistemas operativos


Programa desarrollado

final. Si tienes d#das, cons#lta a t# Facilitador&a'. Co$o "arte de cada #nidad, es i$"ortante /#e ingreses al foro Preguntas de 'utorrefle3in y consultes las "reg#ntas /#e t# Facilitador&a' for$#le, a "artir de ellas, de!es ela:orar t# +#torreflexi n y enviarla $ediante la herra$ienta 'utorrefle3iones. Ao ol*ides /#e ta$!i=n se to$an en c#enta "ara la calificaci n final.

Cierre de la unidad
Has concl#ido la "ri$era #nidad del c#rso. + lo largo de =sta se recordaron conce"tos !4sicos so!re hilos y /#e es el $#lti"rocesa$iento y el "aralelis$o, ta$!i=n conociste co$o el siste$a o"erati*o $ane)a la $e$oria c#4l es s# )erar/#a, s#s "articiones as co$o el $ane)o /#e hace el Siste$a 2"erati*o de la $e$oria real y *irt#al, identificaste c $o los dis"ositi*os de entrada y salida son $ane)ados "or el siste$a o"erati*o s#s $ecanis$os y estr#ct#raB as co$o las o"eraciones /#e reali3an. Siendo este Elti$o te$a real3ado "or #na in*estigaci n de los "rinci"ales dis"ositi*os de Entrada y Salida E1S. Es aconse)a!le /#e re*ises n#e*a$ente la #nidad en caso de /#e los te$as /#e se aca!an de $encionar no te sean fa$iliares, o no los rec#erdes, de no ser este t# caso, ya est4s "re"arado&a' "ara seg#ir con la #nidad dos, en donde se a!ordar4 el siste$a de archi*os, s#s conce"tos !4sicos y s# )erar/#a. +s co$o los ti"os de archi*osD reales *irt#ales y co$"onentesB co$o el siste$a o"erati*o f#nciona fsica y l gica$ente s#s o"eraciones y s# i$"le$entaci n. Todo ello con el fin de o!tener el "rototi"o final al ter$inar la tercera y c#arta #nidad del c#rso de %rogra$aci n de Siste$as 2"erati*os.

Para sa:er mBs


Si deseas sa!er $4s acerca de c $o el "rocesador +(D $ane)a la energa, *irt#ali3aci n, ar/#itect#ra, ad$inistraci n y co$"ati!ilidad con diferentes siste$as o"erati*os, *isita la sig#iente direcci n electr nicaD htt"D11www.a$d.co$17+1%52D8CTS1TECHA272FIES1%ages1technolog i es.as"x

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

->

Programacin de sistemas operativos


Programa desarrollado

'uentes de consulta
Ai:liograf;a :Bsica (artne3, %., Ca!ello (. y Da3, (. &1@@>' Sistemas Operativos. (adridD Da3 de Santos. 2rti3, H. &2??0' Sistemas Operativos Modernos. Colo$!iaD 8ni*ersidad de (edelln. Santiago, C., Farca, 5., K#e3ada, +., Santana, F. y Santos, .. &2??>' "undamentos de sistemas operativos teor4as y e5ercicios resueltos. Es"a:aD %arainfo S.+. de C.6. Stallings, 9. &2??>' Sistemas Operativos. (=xicoD %earson %rentice Hall. Sil!erschat3, +. &2??<' F#nda$entos de siste$as o"erati*os. Es"a:aD (cgrawG Hill. Tanen!a#$, +. &2??,' Sistemas Operativos Modernos. (=xicoD %earson %rentice Hall.

Ai:liograf;a complementaria (orera, .. y %=re3, +. &2??2' Conceptos de Sistemas Operativos. (adridD Co$illas.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

-C

Programacin de sistemas operativos


Programa desarrollado

0nidad 2% *dministrador de Sistemas de *rc9ivos Presentacin de la unidad


+ lo largo de esta #nidad a"render4s co$o el siste$a o"erati*o $ane)a el siste$as de archi*os, los ti"os de archi*os, y c $o son organi3ados de $anera l gica y fsica los $is$os. El siste$a de archi*os, co$o se *er4 $4s adelante, est4 encargado de la ad$inistraci n de la infor$aci n enD acceso, *erificaci n y $ani"#laci nB logrando con ello ser #n $=todo de al$acena$iento y organi3aci n. +de$4s de "er$itir encontrar y acceder $4s r4"ido la infor$aci n. 8n siste$a de archi*os es #n con)#nto de ti"o de datos a!stractos, /#e son i$"le$entados "ara el al$acena$iento, la organi3aci n )er4r/#ica, la $ani"#laci n, el acceso, el direcciona$iento y la rec#"eraci n de datos. 2tra "arte de s#$a i$"ortancia /#e se *er4 en esta #nidad, es la diferencia entre archi*o real y *irt#al. 8n arc9ivo virtual es #n archi*o de #so te$"oral /#e es #tili3ado "or los "rocesos del siste$a $ientras se est4n e)ec#tando dichos "rocesos. Estos archi*os se crean d#rante la e)ec#ci n de #n siste$a y se #tili3an "ara el al$acena$iento de infor$aci n, interca$!io y organi3aci n /#e e)ec#ta el siste$a. %or otra "arten, #n arc9ivo real es #n o!)eto /#e contiene "rogra$as, datos o c#al/#ier otro ele$entoB #n archi*o se $#estra de $anera real, en la infor$aci n del es"acio /#e oc#"a en #n disco d#ro o siste$a de al$acena$iento, en otras "ala!ras s# ta$a:o es en !ytes. %ara finali3ar la #nidad se a!ordar4n las o"eraciones /#e son "er$itidas "or "arte de los archi*os y c $o se i$"le$entan.

Propsito
El "ro" sito de los te$as de esta #nidad es /#e se cono3ca c $o el siste$a o"erati*o considera el +d$inistrador de archi*osB ya /#e la ad$inistraci n del al$acena$iento de la infor$aci n, es necesaria "ara organi3ar y deter$inar lo /#e *e el #s#arioB as co$o la for$a en /#e lo *e.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

-@

Programacin de sistemas operativos


Programa desarrollado

De la $is$a $anera es i$"ortante a"render a disting#ir "or /#= y "ara /#= el siste$a $ane)a archi*os reales y *irt#ales, y /#e o"eraciones se "#eden reali3ar con los $is$os.

Competencia espec;fica
Identificar el "roceso /#e sig#en los archi*os "ara la ad$inistraci n y !#en $ane)o de los $is$os, con el an4lisis l gico /#e sig#e el siste$a.

2%1% Sistemas de *rc9ivos


%ara los #s#arios, el as"ecto $4s i$"ortante de #n siste$a de archi*os es lo /#e de =ste se *eB es decir, /#= constit#ye #n archi*o, c $o se no$!ran y "rotegen los archi*os, /#= o"eraciones "#eden efect#arse con los archi*os. El siste$a de software /#e "ro"orciona a los #s#arios y a las a"licaciones ser*icios relati*os al e$"leo de archi*os de!e c#$"lir con las necesidades de gesti n de datos y con las necesidades de al$acena$iento del #s#arioB se de!en c#$"lir los sig#ientes o!)eti*osD +creditar /#e los datos de los archi*os sean *4lidos. 2"ti$i3ar el rendi$iento. 2torgar so"orte E1S "ara la *ariedad de ti"os de dis"ositi*os de al$acena$iento. (ini$i3ar o eli$inar la "osi!ilidad de "=rdida de los datos. I$"lantar #n con)#nto est4ndar de r#tinas de interfa3 de E1S. %ro"orcionar #n so"orte de E1S "ara $Elti"les #s#arios en los siste$as $#lti#s#ario. Dentro de #n sistema de arc9ivos est4n los $=todos y estr#ct#ras, /#e son los datos /#e #n siste$a o"erati*o #tili3a "ara seg#ir la "ista de los archi*os de #n disco o "artici n, y las for$as en /#e se organi3an los archi*os en el disco. El conce"to de siste$a de archi*os, ta$!i=n se "#ede #tili3ar "ara hacer referencia a #na "artici n o disco /#e se #tili3a "ara al$acena$iento de la infor$aci n o el ti"o del siste$a de archi*os /#e #tili3a. 7a diferencia entre #n disco o "artici n y el siste$a de archi*os /#e contiene es i$"ortante. +lg#nos "rogra$as tra!a)an directa$ente en los sectores cr#dos del disco o "artici nB si hay #n archi*o de siste$a existente ah ser4 destr#ido o corro$"ido se*era$ente. 7a $ayora de "rogra$as tra!a)an so!re #n siste$a

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

0?

Programacin de sistemas operativos


Programa desarrollado

de archi*os, y "or lo tanto no #tili3ar4n #na "artici n /#e no contenga #no &o /#e contenga #no del ti"o e/#i*ocado'. +ntes de /#e #na "artici n o disco sea #tili3ada co$o #n siste$a de archi*os, necesita ser iniciada y las estr#ct#ras de datos necesitan escri!irse al disco. Este "roceso se deno$ina constr#ir #n sistema de arc9ivos. 7os archi*os est4n ad$inistrados "or el siste$a o"erati*o. 7a $anera en /#e est4n estr#ct#rados, no$!rados, c $o se accede a ellos, c $o se #tili3an, c $o se "rotegen e i$"le$entan, son caractersticas /#e se #tili3an "ara el dise:o de los siste$as o"erati*os. + esta "arte del siste$a o"erati*o /#e gestiona archi*os, co$En$ente se le conoce co$o el sistema de arc9ivos. %ara #n #s#ario, el as"ecto de $ayor i$"ortancia dentro de #n siste$a de archi*os, es s# as"ectoB en otras "ala!ras, es lo /#e confor$a #n archi*o, c $o se no$!ran y se "rotegen los archi*os, las o"eraciones /#e se "er$iten, etc. En los detalles "ara seg#ir la lnea de la $e$oria li!re, se #tili3an listas enla3adas o $a"as de !itsB el detalle de c#4ntos sectores hay en #n !lo/#e l gico, son c#estiones de $enos inter=s a#n/#e son de gran i$"ortancia "ara los desarrolladores de los siste$as de archi*os. Concreta$ente los siste$as de archi*os son #n $ecanis$o /#e "er$ite al$acenar infor$aci n en el disco y leerla des"#=s. %or lo c#al, el #s#ario no necesaria$ente se entera de detalles de d nde y c $o se al$acenar4 la infor$aci n, y el f#nciona$iento de los discos. 7a for$a en la /#e se da no$!re a los o!)etos /#e se $ane)an, "odra ser la caracterstica $4s i$"ortante de c#al/#ier $ecanis$o de a!stracci n, #na *e3 /#e el "roceso crea el fichero, se le asigna el no$!re. C#ando el "roceso ter$ina, el archi*o sig#e existiendo y otros "rogra$as "#eden tener acceso a =l, #tili3ando s# no$!re. 6arios siste$as de archi*os, ad$inistran los no$!res de =stos en dos "artes se"aradas "or #n "#ntoB a la "arte sec#encial del "#nto se le no$!ra extensi n del archi*o y K58%D2%HK9H H6SHF7I7FD H2 97S5 FH2 D8F\7J5 ]S58 H(H%S25 HK ?< GW2<] 256 K5%E8H6 FH los archi*os c#entan con #no o hasta ocho caracteres, $4s #na extensi n o"cional de #no a tres caracteres. En 8nix, se de)a la extensi n o"cional de contar con dos o $4s extensiones y son es"ecificaciones /#e se de)an a criterio del $is$o #s#ario. En la sig#iente i$agen se "resenta #n listado de las extensiones $4s co$#nes de los siste$as de archi*os y s# descri"ci n.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

01

Programacin de sistemas operativos


Programa desarrollado

Fig#ra 1. Ta!la de extensiones de alg#nos siste$as de archi*os &Tanen!a#$, 2??,D -?,'

2%1%1% Concepto
7os archi*os "ro"orcionan #na for$a de al$acenar infor$aci n en el disco y leerla des"#=s. Esto de!e hacerse de tal $anera /#e el #s#ario no tenga /#e oc#"arse de los detalles de c $o y d nde se al$acena la infor$aci n, ni de c $o f#ncionan real$ente los discos. 7as reglas "ara no$!rar archi*os *aran #n tanto de #n siste$a a otro, "ero todos los siste$as o"erati*os "er$iten cadenas de #no a ocho caracteres co$o no$!res de archi*os *4lidos. 7os archi*os "or s# contenido "#eden ser n#$=ricos, alfan#$=ricos o !inarios, "#eden existir archi*os de for$ato li!re, tales co$o son los archi*os de texto, o !ien, los archi*os "#eden estar for$ateados de for$a rgida. 7a infor$aci n /#e contiene #n archi*o es definida "or el #s#ario. %#eden al$acenar $#chos ti"os de infor$aci n, tales co$oD "rogra$as "#ente, "rogra$as o!)eto, "rogra$as e)ec#ta!les datos n#$=ricos, texto, registros *arios, i$4genes, archi*os de a#dio, etc. %ara esto cada ti"o de archi*o tiene s# "ro"ia estr#ct#ra definida. +l tratar el te$a de archi*os, !4sica$ente, se #tili3an c#atro t=r$inos co$#nesD Campo. Es el ele$ento de datos !4sico, #n ca$"o indi*id#al contiene #n *alor Enico, co$o el a"ellido de #na "ersona, #na fecha o el *alor ledo "or #n sensor. Se caracteri3a "or s# longit#d y "or el ti"o de datos.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

02

Programacin de sistemas operativos


Programa desarrollado

(egistro. Es #na colecci n de ca$"os relacionados /#e "#eden tratarse co$o #na #nidad en alg#nos "rogra$as de a"licaci n. *rc9ivo. Es #na colecci n de infor$aci n si$ilar, con #n no$!re, la c#al se g#arda en #n al$acena$iento sec#ndario. 7os #s#arios y las a"licaciones ad$inistran al archi*o co$o #na entidad Enica y se refieren a =l "or #n no$!re, los archi*os tienen no$!res Enicos y "#eden crearse y eli$inarse. Aase de datos. Es #na colecci n de archi*os relacionados, el as"ecto !4sico de #na !ase de datos se !asa en las relaciones /#e existen entre los ele$entos de datos, son ex"lcitas y la !ase de datos est4 dise:ada "ara ser #tili3ada "or *arias a"licaciones diferentes. 8n arc9ivo fuente es #na sec#encia de s#!r#tinas y f#nciones, cada #na de las c#ales est4 a s# *e3 organi3ada co$o #na serie de declaraciones, sig#iendo de instr#cciones e)ec#ta!les. 8n arc9ivo o:>eto es #na sec#encia de !ytes organi3ado en !lo/#es /#e el "rogra$a $ontador del siste$a "#ede co$"render. 8n arc9ivo e>ecuta:le es #na serie de secciones de c digo /#e el cargador "#ede cargar en $e$oria y e)ec#tarse.

2%1%2% FerarGu;a de datos


Es !astante co$En desear organi3ar los archi*os de for$a l gica, "ara ello se re/#iere agr#"ar los archi*os de alg#na for$a dentro de es/#e$as flexi!les deter$inados "or cada #s#ario, "ara dar co$o res#ltado la organiDacin de la informacin lgica. ;4sica$ente, lo /#e se re/#iere es contar con #na )erar/#a general de datos co$En$ente conocida co$o 4r!ol de directoriosB con este ti"o de organi3aci n de infor$aci n, el #s#ario "#ede tener la cantidad de directorios /#e re/#iera "ara agr#"ar y organi3ar s#s archi*os en diferentes categoras. 7a fig#ra 2 es"ecifica /#e existen directorios &+, ;, C' "ertenecientes en la ra3 &root', los c#ales son archi*os de diferentes #s#arios y =stos a s# *e3 generan s#!directorios "ara los "royectos en los /#e se est4 tra!a)ando.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

0,

Programacin de sistemas operativos


Programa desarrollado

Fig#ra 2. Siste$a )er4r/#ico de datos &Tanen!a#$, 2??,' %ara la gesti n de archi*os en s# ni*el $4s !a)o los ad$inistradores de dis"ositi*os se co$#nican directa$ente con los dis"ositi*os "erif=ricos o s#s controladores o canales. Cada $ane)ador de dis"ositi*os es /#ien co$ien3a la o"eraci n de E1S en #n dis"ositi*o y "rocesa la ter$inaci n de #na "etici n de E1S. El ni*el sig#iente es co$o el siste$a de archi*os !4sico o ni*el de E1S fsica, est4 for$ado "or la interfa3 "ri$aria con el entorno exterior. Este ni*el trata con !lo/#es de datos /#e son interca$!iados con siste$as de disco o cinta. El ad$inistrador !4sico de E1S, es /#ien inicia y ter$ina toda la E1S con archi*os. En este ni*el se $antienen #nas estr#ct#ras de control /#e se encargan de la E1S con los dis"ositi*os, la "lanificaci n y el estado de los archi*os. El s#"er*isor !4sico reali3a la selecci n del dis"ositi*o donde se reali3a la E1S con los archi*os. +s $is$o se oc#"a de "lanificar los accesos a discos y cinta "ara o"ti$i3ar el rendi$iento. En este ni*el se asignan los 1uffers de E1S y se reser*a la $e$oria sec#ndaria. El s#"er*isor !4sico de E1S es "arte del siste$a o"erati*o. 7os #s#arios y los "rogra$as de a"licaci n interactEan con el siste$a de archi*os "or $edio de rdenes de creaci n y eli$inaci n de archi*os reali3ando o"eraciones so!re los archi*os.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

0-

Programacin de sistemas operativos


Programa desarrollado

Fig#ra ,. Estr#ct#ra de ficheros de tres ti"os de )erar/#a. &a' S#cesi n de !ytes. &!' s#cesi n de registros. &c' 4r!ol &Tanen!a#$, 2??,D ,C2' 7os archi*os o datos "#eden estar estr#ct#rados de for$as diferentes en la fig#ra , sit#ada anterior$ente se $#estran tres "osi!ilidades co$#nes. El e)e$"lo &a' es #na s#cesi n no estr#ct#rada de !ytes. C#al/#ier significado /#e se tenga so!re el fichero de!er4n atri!#rselo los "rogra$adores en el ni*el de #s#ario. 7a flexi!ilidad /#e se ofrece, $ientras el siste$a o"erati*o *e sola$ente co$o sec#encias de !ytes, los "rogra$as de #s#ario "#eden "oner c#al/#ier cosa /#e deseen los archi*os y darles c#al/#ier no$!re /#e crean con*eniente. En ese sentido, el siste$a o"erati*o se torna i$"arcial "ara /#e los #s#arios "#edan hacer cosas f#era de lo co$En. El e)e$"lo &!' de la fig#ra ,, $#estra /#e #n archi*o es #na sec#encia de registros se a"oya en el conce"to de /#e la o"eraci n de lect#ra de*#el*e #n registro y /#e la o"eraci n de escrit#ra so!re escri!e o anexa #n registro. El e)e$"lo &c' de la fig#ra ,, indica #na estr#ct#ra de archi*os. En esta organi3aci n, #n archi*o consiste en #n 4r!ol de registros, /#e no necesita todos de la $is$a longit#d, cada #no de =stos contiene #n ca$"o de lla*e /#e re"resenta #na "osici n fi)a dentro del registro. El 4r!ol est4 ordenado segEn el ca$"o lla*e, a fin de "oder !#scar r4"ida$ente #na lla*e "artic#lar. 7a estructura lgica de los datos se organi3a de ac#erdo a la for$a en c $o se accede a =stos. 7a estr#ct#ra $4s si$"le de #n directorio es #na lista de entradas "ara cada archi*o.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

00

Programacin de sistemas operativos


Programa desarrollado

*ctividad 1% Sistema de arc9ivo


Con el fin de /#e reflexiones so!re lo est#diado hasta el $o$ento, "artici"ar4s en #n foro de disc#si n2 en =l co$"artir4s #n conce"to "ro"io acerca del siste$a de archi*os. %ara ello, "odr4s re*isar el $aterial de la asignat#ra y a"oyarte de los co$entarios de t#s co$"a:eros&as'. %re*io a t# ingreso al foroD 1. (etoma las lect#ras del te$a 2.1.Siste$as de archi*os. 2. $dentifica /#= es #n siste$a de archi*os y c $o lo $ane)a el siste$a o"erati*o en s# )erar/#a de datos. ,. $ngresa al foro de la acti*idad "ara co$enta t#s a"ortaciones y sigue las indicaciones /#e en ese es"acio se enc#entran.

2%2% /ipo de *rc9ivos


Cada siste$a o"erati*o reconoce s#s arc9ivos especiales "or caracteres y "or !lo/#es, ade$4s de los ti"os de archi*os diferentes. 7os arc9ivos regulares son lo /#e contienen infor$aci n del #s#ario. 7os archi*os /#e se "resentan en la fig#ra anterior son archi*os nor$ales, los directorios son archi*os de siste$a /#e sir*en "ara $antener la estr#ct#ra del siste$a de archi*os. 7os arc9ivos especiales "or caracteres est4n relacionados con E1S y sir*en "ara $odelar dis"ositi*os de E1S en serie co$o las ter$inales, i$"resoras y redes. 7os archi*os es"eciales "or !lo/#es sir*en "ara $odelar discos. 7os arc9ivos normales general$ente son archi*os +SCII o !ien archi*os !inarios. 7os archi*os +SCII consisten en lneas de texto, en alg#nos siste$as cada lnea ter$ina con #n car4cter de retorno de carroB en otros se e$"lea el car4cter de salto de lnea. En alg#nas ocasiones se re/#ieren a$!as, las lneas no de!en necesaria$ente tener todas las $is$as longit#des. 7os arc9ivos normales *SC$$ tienen la *enta)a de /#e "#eden exhi!irse e i$"ri$irse tal co$o est4n, y se "#eden editar con c#al/#ier editor de textos. +de$4s, si #na gran cantidad de "rogra$as #san archi*os +SCII co$o entradas y salidas, es f4cil conectar la

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

0<

Programacin de sistemas operativos


Programa desarrollado

salida de #n "rogra$a a la entrada de otro, co$o s#cede con los cond#ctos de Shell. 7os archi*os /#e no son +SCII se inter"retan co$o archi*os !inarios. 7os arc9ivos :inarios son los /#e no se inter"retan co$o archi*o +SCII, si se o!tiene #na *ista de los archi*os !inarios "or $edio de #na i$"resi n, se o!tendr4 #n listado difcil de co$"render lo /#e "areciera ser contenido !as#raB "or lo general estos archi*os est4n for$ados "or s# estr#ct#ra "ro"ia$ente interna. En la fig#ra - se "#ede a"reciar la e)ec#ci n de #n archi*o !inario si$"leB el e)e$"lo f#e to$ado de las "ri$eras *ersiones de 8AIL. En la sec#encia de !ytes re"resentado "or el archi*o, se o!ser*a /#e el siste$a o"erati*o Enica$ente e)ec#tar4 #n archi*o si tiene el for$ato /#e se reconoce "or el siste$a o"erati*o.

Fig#ra -. E)ec#ci n de #n archi*o !inario si$"le &Tanen!a#$, 2??,D -?<' En el "ri$er e)e$"lo $ostrado &a', se c#enta con cinco seccionesD -nca:eDado. Es /#ien inicia e identifica el archi*o co$o e)ec#ta!le *alido "ara el siste$a o"erati*o. /eEto% Se carga en $e$oria y #tili3a la re#!icaci n de !its "ara esta!lecer s# #!icaci n dentro del siste$a. Datos% Se carga en $e$oria y #tili3a la re#!icaci n de !its "ara esta!lecer s# #!icaci n dentro del siste$a.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

0>

Programacin de sistemas operativos


Programa desarrollado

Aits de reu:icacin% Se #tili3an "ara la re#!icaci n de los enca!e3ados de texto y datos /a:la de s;m:olos. Es #tili3ada "ara la de"#raci n.

To$ando el seg#ndo e)e$"lo &!', se tiene /#e el archi*o !inario se considera co$o #n archi*o, el c#al consiste en la colecci n de "rocedi$ientos de las !i!liotecas o $ d#los /#e no est4n enla3ados. Cada $ d#lo se re"resenta con #n enca!e3ado /#e es identificado co$o el no$!re, fecha de creaci n, "ro"ietario, c digo de "rotecci n y ta$a:o. De la $is$a for$a /#e el archi*o e)ec#ta!le, los enca!e3ados de $ d#lo est4n llenos de nE$eros !inarios. Co$o se $enciona!a anterior$ente todos los siste$as o"erati*os reconocen el ti"o de archi*os e)ec#ta!le y alg#nos $4s, /#e no son "ro"ia$ente "ertenecientes a este.

2%2%1% (eal
El arc9ivo real en 9indows, es el /#e es considerado co$o #n o!)etoB est4 for$ado "or "rogra$as, datos o c#al/#ier ti"o de infor$aci n /#e contenga #no o *arios ele$entos dentro del siste$a o"erati*o. 8n archi*o real se $#estra "or el es"acio /#e oc#"a dentro de #n disco d#ro o el $is$o siste$a de al$acena$iento de archi*os ad$inistrado "or el siste$a o"erati*o.

2%2%2% 4irtual
+ diferencia #n archi*o real /#e oc#"a #n es"acio en el disco d#ro, #n archi*o virtual es a/#el c#yo #so es te$"oral, ad$inistrado "or los "rocesos del siste$a. En 9indows estos archi*os se deno$inan co$o archi*os te$"orales, se generan $ientras se est4 e)ec#tando #n siste$a y, =ste, los #tili3a "ara el al$acena$iento de infor$aci n, interca$!io y organi3aci n $ientras se e)ec#ta el siste$a. S# ta$a:o *ara !astante y ter$ina al detener la e)ec#ci n del siste$a, $#chos de ellos son eli$inados.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

0C

Programacin de sistemas operativos


Programa desarrollado

2%2%6% Componentes
7os co$"onentes "rinci"ales "ara #n archi*o, se for$a "or #n no$!re y datos. +de$4s, la $ayora, o todos los siste$as o"erati*os, relacionan otra infor$aci n a cada archi*o contenido, tales co$o los co$"onentes de fecha y hora de s# creaci n ade$4s del ta$a:o del archi*o. %or lo general #n co$"onente es en realidad el atri!#to del archi*o el c#al *ara !astante de #n siste$a o"erati*o a otro, "#es la gesti n de la infor$aci n la asocian a s# siste$a de archi*os. 7a fig#ra 0 $#estra #n es/#e$a !4sico y general so!re alg#nos atri!#tos, sin de)ar de "ensar /#e "#eden existir $#chas $4s. 7a $ayora de los siste$as o"erati*os "#ede /#e no integren la $ayora de los atri!#tos /#e se $#estran, "ero todos est4n "resentes en algEn siste$a.

Fig#ra 0. +lg#nos de los co$"onentes de archi*os co$En$ente #tili3ados &Tanen!a#$, 2??,D ,C<' En el listado /#e se $#estra en la ta!la, de esta fig#ra 0, los "ri$eros c#atro atri!#tos se refieren a la "rotecci n del fichero, e indican /#i=n "#ede tener acceso al $is$o y /#ienes tienen el acceso restringido. En #na gran $ayora de siste$as, "ara "er$itir el acceso al siste$a o algEn archi*o el #s#ario de!e "resentar #na contrase:a "ara "oder

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

0@

Programacin de sistemas operativos


Programa desarrollado

*alidar /#e tiene el "er$iso de ingreso, en ese caso la contrase:a /#e se *alida "or el siste$a de!er4 ser el atri!#to. 7os indicadores son !its o ca$"os cortos /#e controlan y ha!ilitan alg#na "ro"iedad es"ecfica, los archi*os oc#ltos, "or e)e$"lo, no a"arecen en los listados de todos los ficheros. El indicador de archi*ado es #n !it /#e es"ecifica si el archi*o ya se res"ald o no. El "rogra$a de res"aldo sa!e /#= ficheros de!en res"aldarse. El indicador te$"oral "er$ite $arcar #n fichero "ara /#e se eli$ine de for$a a#to$4tica c#ando ter$ine el "roceso /#e lo cre . Dentro de los ca$"os de longit#d de cada registro, la "osici n de la cla*e y longit#d de la cla*e se "resentan en los ficheros c#ando los registros "#edan oc#ltarse e$"leando #na cla*e. Dichos ca$"os "ro"orcionan la infor$aci n necesaria "ara hallar las cla*es. El ta$a:o de #n archi*o indica /#e tanto es"acio llega a oc#"ar dentro del disco d#ro, #na gran "arte de los siste$as o"erati*os antig#os exigan /#e f#era es"ecificado el ta$a:o del archi*o al $o$ento de ser creado con la intenci n de "oder ad$inistrar la cantidad $4xi$a de es"acio "ara s# al$acena$iento. 7os siste$as o"erati*os de estaciones de tra!a)o y ordenadores "ersonales son o !astante inteligentes co$o "ara "rescindir de esa infor$aci n.

*ctividad 2% /ipos de arc9ivos mBs comunes en sistema operativo


Con el fin de o!tener #n concentrado acerca de los ti"os de archi*os $4s co$#nes en 9indows y, entre todos los $ie$!ros del gr#"o, llegar a la o!tenci n de #n solo doc#$entoD 1. $nvestiga c#4les son los ti"os de archi*o $4s co$#nes en el siste$a o"erati*o 9indows. 2. Ingresa a la 9iQi de esta acti*idad +ipos de archivos m6s comunes en sistema operativo y realiDa t# a"ortaci n. ,. (evisa las a"ortaciones de t#s co$"a:eros&as' y enriGuHcelas. +de$4s, recuerda identificar t# "artici"aci n con t# no$!re e incl#ir las f#entes de infor$aci n /#e #tilices.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

<?

Programacin de sistemas operativos


Programa desarrollado

2%6% OrganiDacin del sistema de arc9ivos2 lgica C f;sica


7a organi3aci n del siste$a de archi*os, se !asa al arreglo de los registros dentro de #n archi*o. Ja /#e todos los archi*os est4n for$ados "or registros. 7a organi3aci n del siste$a de archi*os l gica, refiere en la for$a en /#e los registros se organi3an y las caractersticas del $edio #tili3ado "ara s# al$acena$iento, "ara los $edios $agn=ticos, los archi*os se organi3an de tres for$asD OrganiDacin secuencial% Es considerada la $4s sencilla de i$"le$entar, "or/#e los registros se al$acenan y se "#eden rec#"erar en serie. %ara locali3ar #n registro es"ecifico, se !#sca en el archi*o desde el inicio hasta encontrar el registro solicitado. OrganiDacin directa. Son archi*os de acceso directo c#yo al$acena$iento solo se "#eden i$"le$entar en dis"ositi*os de al$acena$iento de acceso directo, con la diferencia de la organi3aci n sec#encial, la organi3aci n directa "er$ite acceder a c#al/#ier registro en c#al/#ier orden, sin la necesidad de iniciar la !Es/#eda desde el "rinci"io del archi*o. OrganiDacin secuencial indeEada. Este ti"o de organi3aci n de archi*os es #na co$!inaci n de los dos ti"os de organi3aci n anteriores, se crea y $antiene a tra*=s de #n "a/#ete de software de $=todo. %ara lograr la $e)or selecci n de estas o"ciones "or lo general se consideran estas caractersticasD 4olatilidad de los datos% Frec#encia con la c#al se efectEan adiciones y eli$inaciones. *ctividad del arc9ivo% %orcenta)e de registros "rocesados d#rante #na e)ec#ci n. /amaIo del arc9ivo% %roci n de es"acio /#e oc#"a el archi*o. /iempo de respuesta. Cantidad de tie$"o /#e el #s#ario ace"ta es"erar antes /#e la o"eraci n solicitada se co$"lete.

7a organi3aci n fsica del siste$a de archi*os en $e$oria sec#ndaria de"ende de la estrategia de los diferentes ti"os de organi3aci n /#e se $encionaron antes, y se re"resentan en la sig#iente fig#ra &<'.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

<1

Programacin de sistemas operativos


Programa desarrollado

Fig#ra <. Diferentes t=cnicas de organi3aci n de archi*os &Stallings, 2??0'. 2tros de los criterios i$"ortantes a considerarse d#rante la elecci n de #na organi3aci n de archi*os esD +cceso directo "ara la rec#"eraci n r4"ida de la infor$aci n. Facilidad de act#ali3aci n "ara cola!orar a $antener la infor$aci n. Econo$a "ara $ini$i3ar el costo de al$acena)e. Facilidad de $anteni$iento si$"le "ara $ini$i3ar la "ro!a!ilidad de errores. Confian3a de aseg#rar los datos. En la organi3aci n de archi*os fsica, los datos son $odificados en s# acceso contig#o fsico, de"endiendo del ti"o de dis"ositi*o de al$acena$iento sec#ndario, los registros "#eden ser de ta$a:o fi)o o *aria!le y se "#eden organi3ar de distintas for$as "ara constr#ir archi*os fsicos. Existen diferentes ti"os de organi3aci n, los c#ales sonD Cinta magnHtica% Es #no de los dis"ositi*os de al$acena$ientoB con =ste el archi*o fsico est4 for$ado de #n con)#nto de registros fsicos y cada registro est4 organi3ado de for$a sec#encial.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

<2

Programacin de sistemas operativos


Programa desarrollado

Disco magnHtico. Es otro de los dis"ositi*os sec#ndarios de al$acena$ientoB dentro del disco, el archi*o es considerado #na colecci n de registros fsicos del $is$o ta$a:o, s# caracterstica es /#e "#ede estar organi3ado de for$a sec#encial, ligada o "or $edio de #na ta!la de $a"eo. *signacin de espacio li:re. Este $=todo "er$ite decidir al siste$a o"erati*o /#= "artes del disco no est4n siendo oc#"ados. %ara el control de dicho es"acio li!re co$En$ente se #tili3an alg#nos $=todos "ara este "ro" sito, vectores de :its2 lista ligada2 por agrupacin C por contador.

2%6%1% Operaciones con arc9ivos


Co$En$ente los archi*os est4n hechos "ara al$acenar la infor$aci n /#e se necesita rec#"erar l#ego de reali3ar algEn "roceso de datos. 7a $ayora de los siste$as ad$inistradores de archi*os !rindan alg#nas o"eraciones de al$acena$iento y rec#"eraci n, en sig#iente listado se $#estran las lla$adas $4s co$#nes relacionadas con archi*osD Create. Feneral$ente esta lla$ada genera el archi*o sin dato alg#no, s# "ro" sito es infor$ar /#e *a existir #n archi*o y solo esta!lece alg#nos de s# co$"onentes o atri!#tos &en te$a anterior se $ostr los diferente ti"os de atri!#tos'. Delete% Esta lla$ada es $#y co$En #tili3arla c#ando existe #n archi*o dentro del siste$a y ya no es necesario s# existencia "ara li!erar es"acio en disco. Open. 7a #tilidad de esta lla$ada es ha!ilitar al siste$a /#e se le otorg#e los atri!#tos y la lista de direcciones de disco y los colo/#e en la $e$oria "rinci"al a fin de agili3ar el acceso en lla$adas "osteriores. Close. Esta lla$a es Etil "ara c#ando todos los "rocesos de los archi*os est=n concl#idos y s#s atri!#tos y las direcciones de disco no sean de #tilidad, "or lo general es necesario cerrar el archi*o "ara li!erar es"acio corres"ondiente en las ta!las internas. Read. 7la$ada Etil "ara leer los datos del archi*o, "or lo general los !ytes "ro*ienen de la "osici n act#al. El in*ocador de!e es"ecificar c#4ntos datos se necesitan y ta$!i=n #n !#ffer "ara colocarlos. Write. Se #tili3a esta lla$ada "ara $odificar los datos en los archi*os, en s# "osici n act#al. Si esta "osici n est4 en el final del archi*o el ta$a:o a#$enta. Se so!re escri!en los c#ando la "osici n del archi*o este a la $itad de s# "osici n y son ree$"la3ados "or los existentes. Append. Esta lla$ada reali3a lla$adas de write "ero con la restricci n de agregar los datos al final del archi*o. 7os siste$as /#e ofrecen #n )#ego $ni$o de lla$adas al siste$a general$ente no c#entan con a""end.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

<,

Programacin de sistemas operativos


Programa desarrollado

Seek. En la organi3aci n de acceso aleatorio de los archi*os, necesita #n $=todo "ara es"ecificar el l#gar del /#e de!en to$arse los datos. 8n enfo/#e co$En es tener #na lla$ada al siste$a, See , /#e a)#star4 a la "osici n act#al del archi*o #na *e3 /#e locali3a s# #!icaci n se "odr4n leer los datos de esa "osici n y escri!ir en ella. Get Attributes. Co$En$ente los "rocesos re/#ieren leer los atri!#tos de los archi*os "ara reali3ar alg#na lla$ada o "roceso, reali3a #n exa$en de alg#nos de s#s atri!#tos "ara sa!er los tie$"os de $odificaci n. Set Attributes. +lg#nos de los atri!#tos de los archi*os "#eden ser esta!lecidos "or el #s#ario y $odificarse des"#=s de /#e se cre el archi*o. Rename. Frec#ente$ente los #s#arios re/#ieren de $odificar el atri!#to del no$!re al archi*o /#e existe, esta lla$ada "er$ite hacerlo.

2%6%2% $mplementacin de arc9ivos


%osi!le$ente "ara los #s#arios el "#nto $4s i$"ortante de la i$"le$entaci n del al$acena)e de los archi*os se "oder lle*ar #n control de /#= !lo/#es de disco corres"onden a /#= fichero. Se conte$"lan *arios $=todos en los distintos siste$as o"erati*os, los c#ales sonD +signaci n contig#a. Es considerado el es/#e$a $4s si$"le "#es al$acena cada archi*o co$o #n !lo/#e sec#encial de datos en el disco, "or e)e$"lo en #n disco con !lo/#es de 1 !yte a #n archi*o de 0? !ytes se le asignar4n 0? !lo/#es consec#ti*os. 8na de las "rinci"ales *enta)as, es la sencille3 con /#e sa!e d nde est4n los !lo/#es de #n archi*o, y el rendi$iento es !astante !#eno "#es es "osi!le leer todo el archi*o del disco en #na sola o"eraci n. +s co$o existen *enta)as de este $=todo de i$"lantaci n ta$!i=n c#enta con alg#nas des*enta)as, co$o /#e no es $#y facti!le si no se conoce el ta$a:o $4xi$o del archi*o en el $o$ento en /#e se crea =ste, "#es el siste$a o"erati*o no se dar4 c#entaD c#4nto es"acio en disco de!e reser*ar "ara este archi*o. J en la frag$entaci n del disco se des"erdicia es"acio /#e de otra for$a "odra ha!erse a"ro*echado. +signaci n "or lista enla3ada. El seg#ndo $=todo "ara el al$acena$iento de archi*os es g#ardar cada #no co$o #na lista enla3ada de !lo/#es de disco, en la sig#iente fig#ra &>' nos indica /#e la "ri$er "ala!ra de cada !lo/#e se e$"lea co$o lnea enla3ada al sig#iente !lo/#e. Este $=todo tiene la "osi!ilidad de #tili3ar todos los !lo/#es y no "ierde es"acio "or frag$entaci n de disco.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

<-

Programacin de sistemas operativos


Programa desarrollado

Fig#ra >. +signaci n "or lista enla3ada de !lo/#es de disco &Tanen!a#$, 2??,D -1<' +signaci n "or lista enla3ada #tili3ando ndices. +l #tili3ar esta i$"le$entaci n todo el !lo/#e estar4 dis"oni!le "or co$"leto "ara los datos, y el acceso directo es $4s sencillo a "esar de /#e se tiene /#e seg#ir la cadena "ara encontrar #na distancia dada dentro de #n archi*o, la cadena esta "or co$"leto en la $e$oria y "#ede seg#irse sin tener /#e cons#ltar el disco. S# "rinci"al des*enta)a es /#e toda la ta!la de!e estar en la $e$oria "ara /#e "#ede f#ncionarB en discos grandes se *era afectado, "#es entre $ayor ca"acidad del disco, $enor ser4 el rendi$iento de !Es/#eda. 7a sig#iente fig#ra &C' $#estra el !lo/#e de asignaci n "or lista, donde se "#ede iniciar en el !lo/#e - y seg#ir la cadena hasta el final del !lo/#e y lo $is$o "ara el !lo/#e <, iniciar desde ah hasta seg#ir la cadena final.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

<0

Programacin de sistemas operativos


Programa desarrollado

Fig#ra C +signaci n "or lista enla3ada #tili3ando ndices &Tanen!a#$, 2??,D -1>' &odos i &nodos ndice'. Este $=todo de i$"le$entaci n es Etil "ara sa!er c#4les !lo/#es "ertenecen a c#4l archi*oB consiste en asociar cada archi*o #na "e/#e:a ta!la, la c#al contiene los atri!#tos y direcciones en disco de los !lo/#es del archi*o. En la sig#iente fig#ra &@' se $#estra #n e)e$"lo si$"le, donde la "osi!ilidad de encontrar todos los !lo/#es del archi*o. S# "rinci"al *enta)a, res"ecto al anterior, los nodos ndice e$"lean #na ta!la en la $e$oria "#es solo de!e estar en $e$oria $ientras el archi*o corres"ondiente est4 a!ierto. 2tra *enta)a de este $=todo es el rendi$iento /#e ofrece es /#e solo es necesario reser*ar cantidad de es"acio "ara los archi*os a!iertos.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

<<

Programacin de sistemas operativos


Programa desarrollado

Fig#ra @ Ta!la de $=todo de i$"le$entaci n de archi*os "or $edio de nodos ndice &Tanen!a#$, 2??,' 8na de las des*enta)as de los nodos ndices, es /#e fi)a el es"acio de las direcciones en disco. %ero $ientras el archi*o crece "#ede reser*ar la Elti$a direcci n de disco no "ara #n !lo/#e de datos, sino "ara la direcci n de #n !lo/#e /#e contiene $4s direcciones de !lo/#es de disco.

*ctividad 6% )apa conceptual de la organiDacin del sistema de arc9ivos


D#rante la ela!oraci n de esta acti*idad "odr4s disting#ir y re"resentar la )erar/#a y las distintas o"eraciones entre archi*os, "ara elloD 1. -la:ora #n $a"a conce"t#al #tili3ando la infor$aci n del te$a Organi/acin del sistema de archivos! lgica y f4sicaB as co$o de alg#nas f#entes de t# "referencia. 2. ,uarda t# acti*idad #sando la no$enclat#ra D22P82P+,PLLJT. ,. -nv;a el archi*o a t# Facilitador&a' "ara reci!ir retroali$entaci n.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

<>

Programacin de sistemas operativos


Programa desarrollado

*utoevaluacin
%ara refor3ar los conoci$ientos relacionados con los te$as /#e se a!ordaron en esta seg#nda #nidad del c#rso, es necesario /#e res#el*as la a#toe*al#aci n de la #nidad. Ten en c#enta /#e es $#y i$"ortante leer c#idadosa$ente los "lantea$ientos indicados y elegir la o"ci n adec#ada "ara cada #no. %ara reali3ar esta acti*idad, ingresa al a#la.

-videncia de aprendiDa>e% )ane>o de arc9ivos en .inuE <de:;an2 fedora2 0:untu= C Jindows


Co$o "arte de la e*al#aci n de esta #nidad, de!es lle*ar a ca!o la sig#iente acti*idadD 1. En #n archi*o de texto descri:e c $o es $ane)ado el siste$a de archi*os de 9indows, as co$o s#s ti"os de archi*os. 2. Dale formato en c#anto a s# organi3aci n l gica y fsica. ,. Complementa con los $is$os conce"tos "ara #n siste$a 7in#x el /#e sea de t# agrado &De!ian, Fedora, 8!#nt#'. -. Consulta la 0scala de evaluacin, "ara conocer los criterios /#e se e*al#ar4n. 0. ,uarda t# e*idencia con el no$!re D22P82PE+PLLJT. <. -nv;a el archi*o a t# Facilitador&a' "ara reci!ir retroali$entaci n. [ (ecuerda /#e de ser necesario y en !ase a los co$entarios hechos "or "arte de t# Facilitador&a', "odr4s en*iar #na seg#nda *ersi n de t# acti*idad.

*utorrefleEiones
+de$4s de en*iar t# tra!a)o de la E*idencia de a"rendi3a)e, es i$"ortante /#e ingreses al foro Preguntas de 'utorrefle3in y consultes las "reg#ntas /#e t# Facilitador&a' "resente, a "artir de ellas, de!es ela!orar t# +#torreflexi n en #n archi*o de texto lla$ado

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

<C

Programacin de sistemas operativos


Programa desarrollado

%S2P81P+T5PLLJT. %osterior$ente en*a t# archi*o $ediante la herra$ienta 'utorrefle3iones.

Cierre de la unidad
Has concl#ido el est#dio de la seg#nda #nidad de la asignat#ra. + lo largo de =sta se *ieron conce"tos !4sicos so!re el ad$inistrador de siste$as de archi*os s#s conce"tos y la )erar/#a de datos, los ti"os de archi*os reales y *irt#alesB as co$o s#s co$"onentes, ade$4s de la organi3aci n del siste$a de archi*os de $anera l gica y fsica, las o"eraciones /#e se "#eden reali3ar con los $is$os y c $o se i$"le$entan. Es reco$enda!le /#e re*ises n#e*a$ente la #nidad en caso de /#e los te$as /#e se aca!an de $encionar no te sean fa$iliares o no los rec#erdes, de lo contrario ya est4s "re"arado&a' "ara seg#ir con la 8nidad ,. Seguridad y Proteccin, en donde se a!ordar4 lo relacionado con la seg#ridad y "rotecci n del entorno, el conce"to y o!)eti*o de la "rotecci n. Todo ello, con el fin de o!tener #n "rototi"o final al concl#ir las c#atro #nidades de %rogra$aci n de Siste$as 2"erati*os.

Para sa:er mBs


Si deseas sa!er $4s acerca de los siste$as o"erati*os, re*isa la sig#iente "4gina we!D Siste$as de archi*os htt"D11exa.#nne.ed#.ar1de"ar1areas1infor$atica1S i ste$as2"erati*os1S2-.ht$

'uentes de consulta
Candela, S. y Farca, C. &2??>'. "undamentos de Sistemas Operativos. +eor4a y e5ercicios resueltos. Es"a:aD %araninfo. (orera, .. y %=re3, .. &2??2'. Conceptos de sistemas Operativos. Es"a:aD Co$illas 2rti3, H. &2??0' Siste$as 2"erati*os (odernos. Colo$!iaD (edellin. Sil!erschat3, +. &2??<'. "undamentos de Sistemas Operativos. Es"a:aD (c. Fraw Hill. Stallings, 9. &2??0'. Siste$as Operativos Modernos: 'spectos $nternos y principios de diseo. (=xicoD %earson, %rentice Hall.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

<@

Programacin de sistemas operativos


Programa desarrollado

Tanen!a#$, +. &2??,'. Sistemas Operativos Modernos. (=xicoD %earson Ed#caci n.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

>?

Programacin de sistemas operativos


Programa desarrollado

0nidad 6% Seguridad C Proteccin Presentacin de la unidad


7os t=r$inos de seg#ridad y "rotecci n se #tili3an de for$a indistinta, sir*en "ara hacer la distinci n entre $ecanis$os es"ecficos del siste$a o"erati*o /#e "ro"orcionan seg#ridad, y el aseg#ra$iento de /#e los archi*os no sean *is#ali3ados ni $odificados "or #s#arios no a#tori3ados. 7a "rotecci n, se o!tiene "or $edio de #n $ecanis$o /#e restringe el acceso de los "rogra$as, de los "rocesos o de los #s#arios, a los rec#rsos definidos "or #n siste$a infor$4tico. Este $ecanis$o de!e "ro"orcionar #n $edio "ara esta!lecer los controles /#e se de!an i$"oner. 7a seg#ridad, ofrece la *alidaci n de los #s#arios del siste$a, con el o!)eti*o de "roteger la integridad de la infor$aci n al$acenada en el $is$o y los rec#rsos fsicos del siste$aB ade$4s "rotege el acceso no *alido y la destr#cci n o $odificaci n $al intencionada de los datos. %or todo lo $encionado, son i$"ortantes los te$as /#e se $ane)ar4n a lo largo de esta #nidad ya /#e son de *ital i$"ortancia "ara #n !#en desarrollo de #n siste$a o"erati*o.

Propsito
Controlar la seg#ridad y li$itar el acceso a los archi*os, $ediante la i$"le$entaci n de $ecanis$os de "rotecci n /#e ofre3can la confian3a de /#e s lo los "rocesos a#tori3ados del siste$a "#edan o"erar so!re los seg$entos de $e$oria, C%8 y otros dis"ositi*os de entrada y salida.

Competencia espec;fica
8tili3ar las f#nciones y t=cnicas "ara *alidar las a$ena3as de #n siste$a co$o "olticas y $ecanis$os $ediante la diferenciaci n de seg#ridad y "rotecci n.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

>1

Programacin de sistemas operativos


Programa desarrollado

6%1% -ntorno de Seguridad


El o!)eti*o de la seg#ridad est4 !asado en la for$a c $o de!e "rotegerse #n siste$a contra ro!os, ata/#es, o c#al/#ier ti"o de "rogra$as o #s#ario $al intencionado /#e "#eden llegar afectar el !#en rendi$iento del siste$a o"erati*o. De!ido al #so creciente de los siste$as o"erati*os se ha extendido en a$!ientes co$erciales, g#!erna$entales, $ilitares e incl#so en hogares. 8na gran $asa de datos, de *ital i$"ortancia "ara el #s#ario, re/#iere de la seg#ridadB no solo de #n si$"le siste$a de "rotecci n, sino ade$4s considerar el entorno externo en el /#e el siste$a o"era. %or lo general de nada sir*e la "rotecci n interna si la consola del o"erador est4 al alcance de "ersonal no a#tori3ado, o !ien si se "#eden extraer los archi*os de for$a si$"le, estos "ro!le$as de seg#ridad no son atri!#idos a "ro!le$as del siste$a o"erati*o, sino $4s !ien se deri*an !4sica$ente de "ro!le$as ad$inistrati*os. Es i$"ortante dedicar #n esf#er3o en la seg#ridad considerando el entorno externo en /#e el siste$a o"era. 7a infor$aci n al$acenada en el siste$a, as co$o los rec#rsos "ro"ios del siste$a, de!en "rotegerse contra acceso no a#tori3ado, destr#cci n o alteraciones tales co$o la $odificaci n accidental de inconsistencias hacia el siste$a o"erati*o En lo /#e concierne a la seg#ridad de #n siste$a o"erati*o, existen *arias eta"as en las /#e se de!e "oner c#idado al tratar de i$"le$entar algEn $edio de seg#ridad en el siste$a, las dos $4s i$"ortantes sonD la "=rdida de datos y la "enetraci n de intr#sos. +lg#nas de las ca#sas $4s co$#nes en la "=rdida de datos sonD 1%K Causas &aturales: Se conoce co$o ca#sas nat#rales a las /#e no tiene nada /#e *er con el desarrollo del siste$a, s# i$"le$entaci n ni a$!iente de tra!a)o, "#es se *e afectado "or $oti*os co$o incendios, in#ndaciones, terre$otos, etc. 2%K 'allas en 9ardware " Software: Este ti"o de fallas *a enfocado al da:o fsico en las "artes /#e co$"onen la co$"#tadora, co$o lo es fallas de C%8, disco d#ro, $e$oria, etc. y fallas en la estr#ct#ra interna del siste$a. 6%K -rror 9umano: Este "#ede inc#rrir de *arias for$as, la $4s co$En es el desc#ido en la ca"t#ra de datosB "or e)e$"lo, "#ede ha!er errores en la for$a de $ontar algEn dis"ositi*o de disco d#ro, o al e)ec#tar #n "rogra$a /#e no de!era e)ec#tarseB la $ayora de estas ca#sas, /#e deri*an en la "=rdida de infor$aci n, "#eden e*itarse $anteniendo #n constante y adec#ado res"aldo de la infor$aci n /#e es considerada co$o i$"ortante.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

>2

Programacin de sistemas operativos


Programa desarrollado

Existen ta$!i=n *arios ti"os de a$ena3as a la seg#ridad, /#e "#eden afectar a la integridad del siste$a, as co$o a la infor$aci n, "ara esto se de!en de c#$"lir con los sig#ientes re/#isitosD Confidencialidad.G %ara #n siste$a es $#y i$"ortante $antener #n ni*el de confidencialidad, "ara /#e c#ando se acceda a la infor$aci n, =sta sea $4s f4cil de co$"render y /#e s lo los #s#arios a#tori3ados, tengan los "er$isos de lect#ra. Integridad.G Es i$"ortante /#e la infor$aci n /#e se $ane)a dentro #n siste$a sea la $4s co$"leta "osi!le y /#e se "#eda editar solo "or los #s#arios a#tori3ados. Dis"oni!ilidad.G Hoy en da, el desarrollo de siste$as exige /#e los ele$entos est=n sie$"re dis"oni!les y en lnea "ara /#e los #s#arios a#tori3ados tengan acceso a la infor$aci n.

Sie$"re al desarrollar #n siste$a lo /#e se !#sca es "oder garanti3ar la seg#ridad "ro"ia del siste$a o"erati*oB "ara esto, es necesaria la i$"le$entaci n en todos los ni*eles, ya /#e "or $enor /#e sea la de!ilidad contenida en el siste$a, la infor$aci n contenida en el $is$o "odra cola"sar. %ara "oder $antener #na seg#ridad en el siste$a es necesario $antener co$o $ni$o los re/#isitos anteriores, /#e "er$itan esta!lecer el es/#e$a de "rotecci n !4sico "ara el desarrollo de #n siste$a o"erati*o. +de$4s de ofrecer y garanti3ar d#rante el desarrollo la seg#ridad, el siste$a es /#ien de!e "ro*eer de $ecanis$os de "rotecci n "ara la i$"le$entaci n de las caractersticas de seg#ridad. Sin la ca"acidad de a#tori3ar a los #s#arios y "rocesos, de controlar s# acceso y el registro de tareas, sera "r4ctica$ente i$"osi!le "oder i$"le$entar estas $edidas "#es el siste$a estara restringido "ara "oder lle*arlas a ca!o. 7o idea es de /#e el siste$a tenga la "osi!ilidad de "oder esta!lecer #n enfo/#e glo!al de "rotecci n, so"ort4ndose tal *e3 "or $ecanis$os de "rotecci n hardware. 7a $ayor "arte de los as"ectos de seg#ridad res#ltan ser co$"licados, "#es a $edida /#e los #s#arios $alintencionados conocen las *#lnera!ilidades de los siste$as de seg#ridad estos "#eden ser atacados. + $edida /#e *an creciendo los siste$as y las necesidades de los #s#arios, es necesario esta!lecer $edidas de seg#ridad /#e res"ondan a los re/#eri$ientos del $is$o siste$a. Existen diferentes ti"os de a$ena3as /#e "#eden llegar afectar la integridad de los siste$as o"erati*os, =stas "ondran al siste$a o"erati*o en #n riesgo latente, o !ien, de)arlo inser*i!le, estas sonD la interr#"ci n, la interce"ci n, %ara e)e$"lificar estas a$ena3as re*isa el fl#)o nor$al de infor$aci n, /#e s#rge c#ando se *a generando #n fl#)o desde el origen Gco$o #n archi*o o #na regi n de $e$oria "rinci"alG hacia s# destinoB la fig#ra ,.1. re"resenta #n e)e$"lo de este fl#)o de

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

>,

Programacin de sistemas operativos


Programa desarrollado

trans$isi n de datos desde el origen, sin ningEn ti"o de !lo/#eo o interr#"ci n hacia el destino de la infor$aci n.

Fig#ra ,.1. Fl#)o nor$al de infor$aci n &Stallings, 2??0D 0>,' 8na de las a$ena3as $4s co$#nes es la interrupcin, la c#al es considerara #na de las a$ena3as /#e afectan a la dis"oni!ilidad del siste$a o"erati*o G"#ede ser "or #n ata/#e /#e genere #na interr#"ci n de los "rocesos o la ad$inistraci n de archi*osG esto tiene co$o consec#encia de)ar al siste$a inEtil. 7a fig#ra ,.2. $#estra #n e)e$"lo de c $o se "#ede generar #na interr#"ci n del fl#)o de infor$aci n, la c#al es ca#sada "or a$ena3a, !lo/#eo o falla en el fl#)o de la infor$aci n hacia s# destinoB este e)e$"lo indica /#e el siste$a o"erati*o /#edara inEtil tras esta interr#"ci n.

Fig#ra ,.2. Fl#)o nor$al de infor$aci n &Stallings, 2??0D 0>,' .a $ntercepcin es otro ti"o de a$ena3a, en #n e)e$"lo t"ico de este ti"o se enc#entra /#e oc#rre #n acceso de for$a ines"erada y sin a#tori3aci n, la c#al llega a afectar la integridad de la infor$aci n. 7a fig#ra ,.,. re"resenta #n e)e$"lo de fl#)o de infor$aci n, donde el en*i de la infor$aci n a s# destino es interce"tada de for$a no a#tori3ada "ara "oner en "eligro la integridad de la infor$aci n.

Fig#ra ,.,. Fl#)o nor$al de infor$aci n &Stallings, 2??0D 0>,'

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

>-

Programacin de sistemas operativos


Programa desarrollado

Existe #n ti"o de a$ena3a $4s latente y /#e afecta de for$a directa la integridad de la infor$aci n. En la fig#ra ,.-. se re"resenta #n claro e)e$"lo de #na alteracin del flu>o de informacin, donde #na a$ena3a acceda de for$a no a#tori3ada y $odifica el fl#)o de infor$aci n a s# destino, alterando de for$a directa la infor$aci n del siste$a o"erati*o.

Fig#ra ,.-. Fl#)o nor$al de infor$aci n &Stallings, 2??0D 0>,' 2tro ti"o de a$ena3a es la de in*enci nB esta "one en riesgo la integridad de la infor$aci n. En la fig#ra ,.0. se $#estra co$o dentro de #n fl#)o de infor$aci n, #na a$ena3a ingresa de)ando f#era al origen de la infor$aci n "ara for$ar "arte de esta a$ena3a "ara insertar datos falsos al siste$a o"erati*o

Fig#ra ,.0. Fl#)o nor$al de infor$aci n I$agen 1. Fl#)o nor$al de infor$aci n. &Stallings, 2??0D 0>,' El "ro!le$a $4s co$En al /#e se enfrente #n siste$a o"erati*o y /#e es !astante difcil de afrontar, es la $odificaci n o alteraci n de la infor$aci n, lo c#al "ro*oca #n $al f#nciona$iento y afecta la integridad de las f#nciones, en la sig#iente ta!la se $#estran las diferentes a$ena3as a las /#e se afrontan cada clase de ele$entos.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

>0

Programacin de sistemas operativos


Programa desarrollado

Ta!la ,.1. Ele$entos /#e afrontan la seg#ridad e integridad de la infor$aci n. &Stallings, 2??0D 0>0' 7as a$ena3as a la integridad de la infor$aci n, son #na "reoc#"aci n constante "ara los desarrolladores de siste$as o"erati*os, ya /#e la confidencialidad, dis"oni!ilidad e integridad del siste$a estara en "eligro, "or los diferentes ti"os de a$ena3as /#e est4n a la orden del da. 7as a$ena3as "or s# co$"le)idad y ti"o de afectaci n se "#eden clasificar co$o a$ena3as "asi*as y a$ena3as acti*as. 7as a$ena3as "asi*as, son a/#ellas /#e solo interce"tan el fl#)o de la infor$aci n afectando la confidencialidad de la $is$a, este ti"o de a$ena3as tienen el o!)eti*o solo de es"iar y di*#lgar el contenido de la infor$aci n. Estas a$ena3as son difcil de ser detectarla, "#es no generan alteraci n al ad$inistrador de archi*os ni f#ncionalidad del siste$a o"erati*o, #na "osi!le $edida de!era ser de "re*enci n "ara e*itar el filtrado. 7as a$ena3as acti*as son delicadas "ara la integridad del siste$a. En =stas est4 latente la alteraci n del fl#)o de datos o !ien la creaci n de #n fl#)o falso /#e "one en riesgo el f#nciona$iento nor$al del siste$a o"erati*o. En la $ayora de los casos #na a$ena3a acti*a es difcil "re*enir de for$a a!sol#ta, "#es re/#erira de #na "rotecci n de todos los ser*icios y r#tas de co$#nicaci n.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

><

Programacin de sistemas operativos


Programa desarrollado

*ctividad 1% Seguridad C proteccin dentro del diseIo de un sistema operativo


7a "resente acti*idad tiene co$o "ro" sito /#e refleEiones so!re la seg#ridad y la "rotecci n en #n siste$a o"erati*o. 1. (etoma la lect#ra del te$a ,.1. Entorno de Seg#ridad.

2. Ausca los conce"tos de seg#ridad y "rotecci n en c#al/#ier 4$!ito &la!oral, "ersonal, etc.'. ,. $dentifica /#= seg#ridad y "rotecci n de!es considerar "ara #n !#en siste$a o"erati*o y /#= es lo $4s i$"ortanteD la seg#ridad o la "rotecci n. -. $ngresa al foro y genera #na n#e*a entrada.

6%1%1% Clasificaciones de la seguridad


I&2 FHSD89D%HK95 FH FHIHK6D FH 256 &&CC H6SHcifica c#atro clasificaciones de seg#ridad "ara los siste$asD +, ;, C, D, esta es"ecificaci n se #sa a$"lia$ente en dicho "as "ara FH9H8%7KD8 2D 6H.L87FDF FH LKD 7K69D2DF7yK ^ %5FH2D8 652LF75KH6 FH 6H.L87FDFN &Sil!erschat3, 2??<D 0->'. To$ando co$o !ase de referencia la clasificaci n del a#tor, se #!ican c#atro ni*eles de clasificaci n de ac#erdo a los re/#eri$ientos de seg#ridad necesaria "ara #n siste$a o"erati*oD Ai*el D. Esta di*isi n, es la considerada de $enor ni*el, o !ien re/#iere de #na "rotecci n $ni$a "ara la integridad del siste$a o"erati*o. 7os siste$as o"erati*os dise:ados con "rocesos indi*id#ales o $ono #s#arios, "or s# nat#rale3a de ad$inistraci n si$"le de archi*os no es $#y co$En o frec#ente el #so de #n ni*el s#"erior de la infor$aci n. Ai*el C. Est4 considerado co$o #n ni*el s#"erior al $ni$o de seg#ridad re/#erido "ara #n siste$a o"erati*o, en este ni*el se i$"le$entan $ecanis$os de "rotecci n de rec#rsos /#e estaran !a)o la res"onsa!ilidad de los #s#arios /#ienes tendr4n los "ri*ilegios de "oder reali3ar $odificaciones, se considera /#e

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

>>

Programacin de sistemas operativos


Programa desarrollado

los siste$as co$erciales co$o 7in#x, 9indows, "or $encionar solo #nos caen esta categora, este ni*el a s# *e3 se clasifica en dos s#!ni*eles. o C1. Este s#!ni*el integra alg#nos controles /#e "er$itan a los #s#arios "roteger s# infor$aci n de lect#ra, escrit#ra o eli$inaci n de archi*os. o C2. En este s#!ni*el, Es la "arte s#"erior del ni*el C1 donde existe #n #s#ario con "ri*ilegios s#"eriores /#e "er$iten la a#ditoria de la infor$aci n, tal co$o #n ad$inistrador del siste$a. Ai*el ;. En este ni*el seg#ridad c#enta con los "ar4$etros incl#ido de los ni*eles anteriores. +dicionando "ara el incre$ento de la seg#ridad, la a$"lit#d de controles y eti/#etas de seg#ridad, do$inio y $ecanis$os estr#ct#rados de "rotecci n /#e son de #tilidad "ara el ref#er3o de restricci n de acceso no a#tori3ados. Ai*el +. T=cnica$ente este ni*el c#$"le con todas las caractersticas /#e tiene #na clasificaci n ;, este ni*el #tili3a ni*eles es"ecficos de dise:o y t=cnicas de *alidaci n "ara el filtrado de la infor$aci n.

6%1%2% 4erificacin de autenticidad de usuarios


I?LF\56 H6TLH%D6 FH S859HFF7yK 6H ED6DK HK H2 6LSLH695 FH TLH H2 6769H%D F5K5FH 2D identidad de cada #s#ario. El "ro!le$a de identificar los #s#arios c#ando inician se deno$ina *erificaci n de a#tenticidad de #s#arios. 7a $ayor "arte de los $=todos de *erificaci n de a#tenticidad se !asan en identificar algo /#e el #s#ario conoce, tiene o es. V5K98D6HxDN 'LHK9H <769H%D6 2SH8D97J56 W76Hx5 H 7%S2H%HK9DF7yK I>DKHKEDL% --2'. 5es#lta #n tanto si$"le "ara alg#nos #s#arios o a"licaciones $al intencionadas, descifrar el contenido y co$"le)idad de las contrase:as y *encer la a#tenticidad de =stas teniendo co$o res#ltado el acceso a la infor$aci n de algEn siste$a ya sea "ara $odificar el fl#)o de la infor$aci n, co$o en la interce"ci n, o algo $4s delicado, co$o en la in*ersi n. Frec#ente$ente se *an incre$entado los ni*eles de co$"le)idad "ara la creaci n de contrase:as o pass7ord #tili3ados "ara la *alidaci n de acceso a la infor$aci n. (#chas a"licaciones codifican, "or $edio de algEn algorit$o de encri"taci n Geste $=todo "ro*ee #n ni*el de seg#ridad $4s a*an3ado /#e la #tili3aci n si$"le de caracteresG co$"ar4ndolo con la lista de contrase:as dis"oni!les "ara la *alidaci n. 2tro $=todo "ara la "rotecci n de contrase:as es el ca$!io reg#lar de =stas. Es i$"ortante ca$!iarlas de $anera "eri dica "ara e*itar /#e algEn intr#so, "#eda descifrarla.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

>C

Programacin de sistemas operativos


Programa desarrollado

2tra *ariaci n /#e es #tili3ada "ara la *alidaci n y a#tentificaci n de #s#arios, es la #tili3ada "ara la identificaci n fsica. Este enfo/#e se !asa en algEn dis"ositi*o fsico "ara la a#tori3aci n de ingreso al siste$a, se #tili3a #n algorit$o de *alidaci n co$"leta$ente distinto a #na contrase:a. El #so de los dis"ositi*os es Etil "ara sa!er si se trata del #s#ario "ro"ietario, dichos dis"ositi*os ser4n la lla*e de acceso al siste$aB algo /#e oc#rre de for$a co$En, es /#e las tar)etas $agn=ticas /#e son *alidadas "or #n lector $agn=tico Gel c#al deter$ina si es *4lida o noG no tienen #n alto grado de efecti*idad en c#estiones de seg#ridad, ya /#e es co$En el extra*o o falsificaci n de estos dis"ositi*os. 7as h#ellas digitales, lect#ra de retina o "atr n de *o3, for$an "arte de #n $=todo fsico de *erificaci n de #s#arios. Estos $=todos consisten en la *erificaci n y a#tenticidad fsica de las caractersticas Enicas de cada #s#ario, las c#ales res#ltan difcil de falsificar. 7a *alidaci n o *erificaci n fsica es $#y a$"lia y tiene $#chas a"licaciones, *enta)as y des*enta)as, co$"ar4ndolos con otros $edios de *erificaci n, el desarrollador es /#ien "lanea /#e ti"o o clasificaci n de seg#ridad se i$"le$entara "ara la *alidaci n y acceso de #s#arios. +lg#nas de las $edidas "re*enti*as /#e se de!en de considerar "ara el incre$ento de las $edidas de seg#ridad, sonD 5egistrar los inicios de sesi n y log de acti*idades. ;lo/#eo de inicios de sesi n "or fecha o "or intentos err neos de *alidaci n. Encri"taci n, cad#cidad y $odificaci n constante de contrase:as. Es"ecificar estaci n de tra!a)o *alidas "ara el acceso al siste$a. Estas $edidas son alg#nas de las $4s #sadas y son, !a)o el criterio del desarrollador, el ti"o de seg#ridad a i$"le$entar de ac#erdo al ni*el y #so de la infor$aci n /#e sea considerada co$o i$"ortante.

6%1%6% 4alidacin C amenaDas al sistema


+l da de hoy nos encontra$os con a$ena3as a los siste$as o"erati*os cada *e3 $4s sofisticadas, las c#ales a"ro*echan los "#ntos $4s d=!ilesB "or eso, es i$"ortante /#e se *aliden y se considere al dise:ar #n siste$a o"erati*o. Principales amenaDas Gue se de:en validar al diseIar un sistema operativo En la act#alidad existen $#chos ti"os de a$ena3as, "or lo c#al, lo $e)or es "re*enir todas =stas desde el dise:o, teniendo en c#enta !#enas "r4cticas de "re*enci n. Estas

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

>@

Programacin de sistemas operativos


Programa desarrollado

a$ena3as se conocen co$o *ir#s /#e atacan y actEan de $#chas $aneras, se $encionan alg#nas de ellas a contin#aci nD /roCano Ingresa c#ando el siste$a no tiene seg#ridad, "er$ite accesos a otros ti"os de archi*os /#e hacen da:o y en ciertos $o$entos se acti*an y e)ec#tan acti*idades /#e da:an. -Eploits <secuencia de aprovec9amiento= 7ocali3an #n "#nto d=!il en el siste$a y e)ec#tan acciones /#e no de!eran ser e)ec#tadas ca#sando caos en el siste$a. (ootLits <secuencia de nulidad= S# origen est4 en el leng#a)e 8AIL y son herra$ientas /#e entran co$o ad$inistradores to$ando el control. AacLdoors <secuencia de salida emergente= Co$o s# trad#cci n al es"a:ol lo dice "#erta trasera la c#al es a!ierta "ara /#e otros siste$as da:inos "#edan entrar. +!ren #na "#erta trasera en el siste$a "ara /#e el creador de $alware entre en el siste$a y lo do$ine a s# anto)o. El o!)eti*o es crear #na red co$"#tadoras infectadas con el $is$o. MeCloggers <registro de teclas o pulsaciones= 5egistra la "#lsaci n de las teclas y clic "ara en*iarlas a #n #s#ario no a#tori3ado "#ede instalarse co$o hardware o a"licaci n.

*ctividad 2 /a:la de elementos Gue afectan la seguridad de un sistema


Con el fin de disting#ir /#= ele$entos afectan la seg#ridad en #n siste$a, en la sig#iente acti*idad construirBs #na ta!la de ele$entos, to$ando en c#enta los te$as a!ordados con anterioridad. 1. $nvestiga so!re los ele$entos de seg#ridad en #n siste$a o"erati*o. 2. Con !ase en la in*estigaci n, realiDa #na ta!la /#e contenga los ele$entos de seg#ridad /#e de!e tener #n siste$a o"erati*o y c#4l es el o!)eti*o de cada #no de ellos. ,. To$ando en c#enta la infor$aci n contenida en la ta!la, elige los tres ele$entos /#e consideres de $ayor i$"ortancia y >ustifica los $oti*os "or los c#ales elegiste esos.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

C?

Programacin de sistemas operativos


Programa desarrollado

-. ,uarda la acti*idad con el no$!re %S2P8,P+2PLLJT. S#stit#ye las LL "or las dos "ri$eras letras de t# "ri$er no$!re, la J "or la inicial de t# a"ellido "aterno y la T "or la inicial de t# a"ellido $aterno. 0. -nv;a el archi*o a tra*=s de la secci n de ;ase de datos. <. (evisa y comenta los tra!a)os de t#s co$"a:eros. >. Con !ase en los co$entarios de t#s co$"a:eros&as' reela:ora t# ta!la y env;ala a t# Facilitador&a' "ara reci!ir retroali$entaci n.

6%2% Concepto C o:>etivos de proteccin


%or #na necesidad de $antener la integridad y confia!ilidad de los siste$as, la "rotecci n de =stos se *#el*e "rioridad "ara todo desarrollo de siste$as o"erati*os, #na de las necesidades de la "rotecci n es i$"edir el acceso y *iolaci n a la infor$aci n del siste$a de archi*os. 7a "rotecci n es la f#ente de control y restricci n de acceso a los siste$as, ad$inistraci n de los rec#rsos y "rocesos. El o!)eti*o "ri$ordial de la "rotecci n, es "ro*eer de #n $ecanis$o /#e tenga la fac#ltad de esta!lecer "olticas de restricci n, y crear !lo/#eos a #s#arios $al intencionados. C#ando #n siste$a o "arte del siste$a no est4 "rotegido, no tiene la confia!ilidad, integridad y $#cho $enos la dis"oni!ilidad de la infor$aci n. De!ido al $al #so de la infor$aci n /#e "#ede llegar a ser $odificada "or el acceso de #s#arios $al intencionados. I'8HFLHK9H%HK9H S5FH%56 L9727_D8 LK S87KF7S75 F78HF958 D 25 2D8.5 FH LK S85^HF95 F5%5 "#eda ser el dise:o de #n siste$a o"erati*o. +)#starnos a este "rinci"io si$"lifica las decisiones de dise:o y hace /#e el siste$a continEe siendo coherente y f4cil de co$"render. 8no de los "rinci"ios directores cla*e y /#e ha resistido al "aso del tie$"o a la hora de "ro"orcionar "rotecci n es el "rinci"io del $ni$o "ri*ilegio. Este "rinci"io dicta /#e a los "rogra$as, a los #s#arios, incl#so a los siste$as se les concedan Enica$ente 256 6LI7F7HK9H6 S87J72H.756 SD8D 22HJD8 D FDE5 D 6L6 9D8HD6N <72EH86F\D9_ Se considera /#e c#ando #n siste$a o"erati*o c#$"le con el "rinci"io de $ni$o "ri*ilegio, d#rante el desarrollo integra caractersticas y1o $ecanis$os de "rotecci n /#e c#!ran las necesidades de "oder $ini$i3ar los da:os ca#sados "or #s#arios $al intencionados. Este "rinci"io tiene la !ondad de "oder ofrecer #n entorno $4s seg#ro al siste$a, "or ello es de s#$a i$"ortancia /#e sea considerado d#rante la "lanificaci n y desarrollo, de lo contrario no lograra s# o!)eti*o de "rotecci n.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

C1

Programacin de sistemas operativos


Programa desarrollado

6%2%1% )ecanismos de proteccin


D#rante el desarrollo del siste$a, la "arte f#nda$ental /#e se de!e considerar es la seg#ridad y "rotecci n del siste$a o"erati*oB se de!en de tener en c#enta al $enos los "ro!le$as "otenciales considerados en te$as anteriores, "ara sol#cionar esa "arte se "#eden #tili3ar t=cnicas "ara "oder esta!lecer las "olticas y $ecanis$os de "rotecci n. I&K D2.LK56 6769H%D6 2D S859HFF7yK 6H 7%S5KH %HF7DK9H LK S85.8D%D 22D%DF5 %5K7958 FH referencias. Cada *e3 /#e se intenta #n acceso a #n rec#rso /#e "#diera estar "rotegido, el siste$a "ide "ri$ero al $onitor de referencias /#e *erifi/#e /#e tal acceso est4 SH8%797F5N >DKHKEDL% 7os diferentes ti"os de $ecanis$os de "rotecci n se enc#entran clasificados enD Dominio de proteccin. Este "#nto considera al siste$a de c $"#to co$o gr#"o glo!al de software y hardware, cada #na de las "artes /#e lo confor$an tienen s# "ro"io no$!re, caractersticas y o!)eti*o, $ediante el c#al se "odr4n reali3ar o"eraciones con archi*os y $ane)o de infor$aci n. D#rante la e)ec#ci n de #n "roceso solo se "odr4 tener acceso a los rec#rsos /#e tiene a#tori3ados "ara reali3ar s#s tareas. En la sig#iente fig#ra &,.<.', se $#estra #n e)e$"lo de tres do$inios, cada #no contiene s#s "ro"ios o!)etos con la a#tori3aci n "ara "oder escri!ir &9', leer &5' y e)ec#tar &L', se "#ede a"reciar /#e la i$"resora est4 en dos do$inios distintos al $is$o tie$"o, de!ido a /#e los archi*os de cada do$inio hacen referencia a la $is$a i$"resora conectada al siste$a de c $"#to.

Fig#ra ,.<. Do$inios de "rotecci n con s#s "ro"ios o!)etos y derechos de a"licaci n. &Tanen!a#$, 2??,D -->' .istas de control de acceso. El o!)eti*o de esta t=cnica consiste en asociar los registros de #na lista ordenada /#e contenga la $ayor cantidad de do$inios y /#e "#eda ingresar al o!)eto. Capacidades. Este $=todo disting#e las caractersticas de cada o!)eto, las c#ales indican las o"eraciones "er$itidas /#e "#ede reali3ar, as la lista $#estra los o!)etos y s#s ca"acidades "ara logra "rocesar la infor$aci n, con esto clasifica

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

C2

Programacin de sistemas operativos


Programa desarrollado

los o!)etos de ac#erdo a s#s ca"acidades facilitando el co$"arti$iento de s#!do$inios. )atriD de acceso. Este $odelo de "rotecci n, "#ede co$"letar s# estr#ct#ra "or $edio de a!stracci n de datos co$"#esto "or #na colecci n de derechos de acceso a la infor$aci n, este ti"o de $odelo "ro"orciona el $ecanis$o facti!le "ara definir e i$"le$entar #n control es"ecifico "ara la asociaci n de "rocesos y do$inios de for$a din4$ica y est4tica, los "rocesos de!en "oder con$#tar de #n do$inio a otro y "er$itir la $odificaci n controlada del contenido de las entradas de la $atri3 de acceso, estas "or lo general re/#ieren de o"eraciones adicionales, tales co$oD copy! o7ner and contro.

6%2%2% 'unciones del sistema de proteccin


7a "rinci"al caracterstica /#e disting#e las f#nciones de #n siste$a de "rotecci n, es a/#el /#e c#$"le con los re/#eri$ientos de "rotecci n de los "rocesos del siste$a, contra los "rocesos de los #s#arios, "rotege los "rocesos de los #s#arios contra los de otros #s#arios, "rotege la ad$inistraci n de la $e$oria y "rotege los dis"ositi*os. D#rante el desarrollo del siste$a o"erati*o, es con*eniente dar flexi!ilidad a la estr#ct#ra de los datos "ara i$"oner #na *ariedad de "olticas y $ecanis$os de "rotecci n, exigiendo /#e c#$"la con el $ni$o de re/#eri$ientos "ara el control de "=rdida de datos. (4s adelante se $ostrar4n alg#nos de los $ecanis$os /#e se "#eden #tili3ar "ara aseg#rar los archi*os, seg$entos de $e$oria y otros dis"ositi*os ad$inistrados "or el siste$a o"erati*o. Se dar4 c#enta /#e el "rinci"al o!)eti*o de todo siste$a o"erati*o es $antener la confia!ilidad, integridad y dis"oni!ilidad del siste$a. El #so de estos $ecanis$os contri!#ye e*itando el $ayor nE$ero de a$ena3as /#e "#eden afectar el rendi$iento del siste$a. 7a "rotecci n se refiere a la i$"le$entaci n de $ecanis$os "ara restringir el acceso de "rogra$as, "rocesos o !ien #s#arios no deseados /#e "#eden "er)#dicar el rendi$iento del siste$a. 7as f#nciones "rinci"ales "ara "ro*eer #n !#en siste$a de "rotecci n, sonD -sta:lecer pol;ticas de uso de recursos. 7as "olticas se "#eden esta!lecer "or #s#ario, ad$inistrador del siste$a o !ien so!re el dise:o y1o desarrollo. )ecanismos de proteccin. S# #so co$En es el controlar el acceso de "rogra$as o "rocesos a los rec#rsos del siste$a.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

C,

Programacin de sistemas operativos


Programa desarrollado

)onitoreo de amenaDas. Se "#eden esta!lecer r#tinas de control /#e "er$itan ingresar al siste$a o !ien recha3ar la "etici n de acceso a deter$inadas a"licaciones o "rocesos.

K#eda claro /#e es i$"ortante y necesaria la "rotecci n de #n siste$a o"erati*o, "ara "re*enir *iolaciones $alintencionadas de acceso al fl#)o de datos de #n "roceso dentro del siste$a. %or ello la con*eniencia de aseg#rar cada co$"onente /#e for$e "arte del siste$a, #n rec#rso o co$"onente no aseg#rado no "#ede defenderse contra alg#na *ariaci n al fl#)o de datos.

6%2%6% $mplementacin de matrices de acceso


+l iniciar con la i$"le$entaci n de #na $atri3 de acceso y de ir llenando de datos, la $atri3 tendr4 es"acios *acos, estos lle*a a #na serie de des*enta)as en el rendi$iento del siste$a o"erati*o. 7os $=todos "ara la i$"le$entaci n de #na $atri3 de acceso son de #tilidad "ara a/#ellas $atrices dis"ersas y de "oca #tilidad, a contin#aci n se descri!e cada #no de estos $=todos "ara s# i$"le$entaci nD /a:la glo:al% Este "ri$er $=todo, tiene la f#nci n $4s si$"le de acceso "ara #na ta!la co$"#esta "or tri"letas &do$inio, o!)eto, con)#ntoGderechos', s#"oniendo /#e se tiene #n Do$inio )a, 8n o!)eto Oa y s#s derechos de lect#ra 5a. Si Da intenta el acceso en 2a $ediante alg#na o"eraci n (a, se anali3ar4 toda la ta!la en !Es/#eda de la tri"leta `Da, 2a, 5aa y /#e (a "ertene3ca a 5a, si la enc#entra reali3a caso contrario sig#e reali3ando el "roceso de !Es/#eda o !ien hasta /#e se genere algEn error. Este ti"o de i$"le$entaci n res#lta estar creciendo considera!le$ente confor$e *an gener4ndose o"eraciones de E1S, "or lo /#e no es "osi!le $antenerla en $e$oria "rinci"al. Co$o des*enta)a se tienen /#e generar o"eraciones adicionales de E1S. .ista de acceso para los o:>etos% En este $=todo, se *an al$acenando los datos "or col#$na en la $atri3 "ara ir asociando cada o!)eto dentro de #na lista de ordenadas de "ares. Sig#iendo el e)e$"lo de la tri"leta anterior, se tiene /#e si Da intenta ingresar a 2a $ediante la o"eraci n ( se "er$ite si, se enc#entra `Da, 5aa y ( tenga "ertenencia en 5a. S# *enta)a se radica en la facilidad de "oder agr#"ar los do$inios. .istas de capacidades para los dominios% I1D 2769D6 FH FDSDF7FDFH6 6H "ro"#sieron original$ente co$o #na es"ecie de "#ntero seg#ro, "ara satisfacer la necesidad de "rotecci n de los rec#rsos /#e se "re*ea /#e i!a a ser necesaria a %HF7FD TLH 256 6769H%D6 7KI58%i97F56 %L297S85.8D%DF56 6H .HKH8D27_D8DKN &Sil!erschat3, 2??<D -@-'.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

C-

Programacin de sistemas operativos


Programa desarrollado

7a ca"acidad de este $=todo, consiste en /#e los derechos de acceso a #n o!)eto se al$acenan en la $atri3 "or filas con s# do$inio, "or lo general las listas de ca"acidades est4 asociada con #n do$inio, "ero #n "roceso /#e se e)ec#te en el do$inio no "odr4 ingresar de for$a directa so!re esta. Cada ele$ento de la $atri3 es deno$inado co$o ca"acidad y la lista de ca"acidades de!e de "rotegerse "or el siste$a o"erati*o. (ecanis$o de !lo/#eoGF2DJH I&2 H6TLH%D FH E25TLH5Gcla*e, es #n co$"ro$iso entre las listas de acceso y las listas de ca"acidades. Cada o!)eto tiene #na lista de "atrones de !it distintos, deno$inados !lo/#eos. De for$a si$ilar, cada F5%7K75 97HKH LKD 2769D FH SD985KH6 FH E79 F7697K956 FHK5%7KDF56 F2DJH6N &Sil!erschat3, 2??<D -@-'. 7a $ayora de los siste$as re/#ieren de alg#na i$"le$entaci n de $atrices de acceso "ara locali3ar la infor$aci n "ara #n "roceso deter$inado, y es decisi n del desarrollador del siste$a o"erati*o deter$inar /#e $=todo sera el $4s "ti$o "ara la i$"le$entaci n de las $atrices de !Es/#eda.

*ctividad 6% Cuadro sinptico de los mecanismos de proteccin


Esta acti*idad tiene co$o "ro" sito /#e, $ediante #na re"resentaci n es/#e$4tica, distingas las relaciones /#e se esta!lecen entre los $odelos, f#nciones e i$"le$entaci n de los $ecanis$os de "rotecci n. 1. En #n archi*o de texto o (icrosoft 6isio realiDa #n c#adro sin "tico con los te$as de conce"tos y o!)eti*os de "rotecci n. 2. ,uarda la acti*idad con el no$!re %S2P8,P+,PLLJT, donde LL es t# a"ellido&s' y JJ no$!re&S' ,. -nv;a el archi*o a t# Facilitador&a' "ara reci!ir retroali$entaci n.

*utoevaluacin
%ara refor3ar los conoci$ientos relacionados con los te$as /#e se a!ordaron en esta tercera #nidad del c#rso, es necesario /#e res#el*as la acti*idad integradora. 5ec#erda /#e es $#y i$"ortante leer c#idadosa$ente los "lantea$ientos indicados y elegir la o"ci n adec#ada "ara cada #no.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

C0

Programacin de sistemas operativos


Programa desarrollado

-videncia de aprendiDa>e% Diagrama de flu>o del sistema operativo


Co$o "arte de la e*al#aci n de esta #nidad, de!es lle*ar a ca!o #na acti*idad c#yo "ro" sito es conce"t#ar el "roceso del siste$a o"erati*o, $ediante la a"licaci n de los conce"tos a"rendidos en la #nidad. 1. En #n archi*o de texto ela:ora #n diagra$a de fl#)o en el c#al refle)es el orden, la sec#encia y los "asos /#e reali3aras "ara dise:ar #n siste$a o"erati*o con res"ecto a seg#ridad y "rotecci n, considerando todos los s#!te$as ex"#estos en la #nidad. 2. ,uarda la e*idencia con el no$!re %S2P8,PE+PLLJT. ,. -nv;a el archi*o a t# Facilitador&a' "ara reci!ir retroali$entaci n.

*utorrefleEiones
+de$4s de en*iar t# tra!a)o de la E*idencia de a"rendi3a)e, es i$"ortante /#e ingreses al foro Preguntas de 'utorrefle3in y consultes las "reg#ntas /#e t# Facilitador&a' "resente, a "artir de ellas, de!es ela!orar t# +#torreflexi n en #n archi*o de texto lla$ado %S2P8,P+T5PLLJT. %osterior$ente en*a t# archi*o $ediante la herra$ienta 'utorrefle3iones.

Cierre de la unidad
Has concl#ido la tercera #nidad del c#rso. + lo largo de =sta se *ieron conce"tos !4sicos so!re el la seg#ridad y "rotecci n, c $o se clasifica la seg#ridad, c $o se *erifica la a#tenticidad de los #s#arios y las "rinci"ales a$ena3as /#e de!e$os considerar al dise:ar #n siste$a o"erati*o, en c#anto a la "rotecci nD /#= $ecanis$os se #tili3an "ara /#e es el siste$a de "rotecci n y c $o se i$"le$entan la $atrices de acceso.

Es aconse)a!le /#e re*ises n#e*a$ente la #nidad en caso de /#e los te$as /#e se aca!an de $encionar no te sean fa$iliares o no los rec#erdes, de no ser este t# caso, ya est4s "re"arado&a' "ara seg#ir con la #nidad c#atro, en donde contin#ar4s con la !ase del dise:o del siste$a o"erati*o. Todo ello con el fin de o!tener el "rototi"o final al ter$inar la Elti$a #nidad del c#rso de %rogra$aci n de Siste$as 2"erati*os.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

C<

Programacin de sistemas operativos


Programa desarrollado

Para sa:er mBs


Si deseas conocer $4s infor$aci n acerca de la seg#ridad de los siste$as o"erati*os, re*isa la sig#iente "4gina we!D Seg#ridad de los Siste$as 2"erati*os htt"D11exa.#nne.ed#.ar1de"ar1areas1infor$atica1S i ste$as2"erati*os1S21-.ht$

'uentes de consulta
Candela, S. y Farca, C. &2??>' "undamentos de Sistemas Operativos. +eor4a y e5ercicios resueltos. Es"a:aD %araninfo. 2rti3, H. &2??0' Siste$as 2"erati*os (odernos. Colo$!iaD (edellin. Sil!erschat3, +!raha$ &2??<' "undamentos de Sistemas Operativos. >$a. Edici n. Es"a:aD (c. Fraw Hill. Stallings, 9. &2??0' Siste$as Operativos Modernos: 'spectos $nternos y principios de diseo. (=xicoD %earson, %rentice Hall Tanen!a#$, + &2??,' Sistemas Operativos Modernos. (exicoD %earson Ed#caci n.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

C>

Programacin de sistemas operativos


Programa desarrollado

0nidad % DiseIo de Sistemas Operativos

Presentacin de la unidad
En esta #nidad se re*isar4 el dise:o de los siste$as o"erati*osB c#yas !ases se enc#entran en los conoci$ientos !4sicos dise:o "ara for$ar s# ar/#itect#ra y la interfa3B as co$o la estr#ct#ra de los $ecanis$os, i$"le$entaci n, o"ti$i3aci n y c $o se #sa el cache. Es i$"ortante reto$ar el conce"to de siste$a o"erati*o G"arte /#e intereractEa "ara la ad$inistraci n de rec#rsos del hard7are y la e)ec#ci n de "rogra$as del #s#ario, c#yo "rinci"al o!)eti*o es /#e se e)ec#ten "rogra$as de for$a eficienteG con !ase en =se, se esta!lecen las tareas de dise:o, i$"le$entaci n y e)ec#ci n de "rogra$as !a)o la ad$inistraci n es"ecfica de la $e$oria y los archi*os e infor$aci n /#e ah se contiene. 7o anterior, lle*a a entender /#e codificar #n siste$a o"erati*o es #na tarea ard#a "or s $is$a.

Propsito
El "ro" sito de esta #nidad es /#e tengas los rec#rsos necesarios "ara lograr #n !#en dise:o de #n siste$a y, con la ay#da de leng#a)es de "rogra$aci n, "#edas i$"le$entar lo a"rendido en el naci$iento de #n siste$a.

Competencia espec;fica
+"licar la *isi n !4sica so!re el dise:o, "ara la i$"le$entaci n y dese$"e:o del S.2., $ediante el "rinci"io de dise:o, con el #so de las diferentes caractersticas de la ar/#itect#ra /#e lo confor$an.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

CC

Programacin de sistemas operativos


Programa desarrollado

%1% Aase del diseIo de sistemas operativos


Ha!lar de #n "royecto !asado "ara el desarrollo de #n siste$a o"erati*o, es "ensar de for$a glo!al en el "roceso de desarrollo, los detalles de gesti n de $e$oria y dis"ositi*os de E1S, as co$o ta$!i=n en la ad$inistraci n de archi*os, sin de)ar de lado la seg#ridad y "rotecci n. Co$o se *e es !astante co$"le)o el desarrollo de #n siste$a o"erati*o, sin e$!argo la eta"a crtica "ara la ela!oraci n del siste$a es deter$inar la ar/#itect#ra, esta!lecer #n "lan de desarrollo y deter$inar los riesgos del "royecto. Con la n#e*a era de desarrollo de hard7are, se incre$enta y e*ol#cionan cada *e3 $4s las necesidades de "rocesa$iento del siste$a o"erati*o "ara /#e "#eda gestionar de for$a eficiente todos los dis"ositi*os y rec#rsos del e/#i"o de c $"#to. Hoy en da el "rogreso en el desarrollo de los siste$as o"erati*os ha incre$entado de for$a "aralela con las n#e*as tecnologas "ara $e)orar los algorit$os /#e gestionan "rocesos dentro del siste$a o"erati*o. 7as !ases "rinci"ales "ara el dise:o de siste$as o"erati*os, sonD *:straccin.G Define /#= hace el siste$a o"erati*o, sin to$ar en c#enta el c $o lo haceB "or e)e$"lo, "ara #n #s#ario de #n "rogra$a "rocesador de textos, no es necesario /#e se d= c#enta c $o f#ncionan "or dentro el "roceso de ca"t#ra de datos ni de i$"resi n de doc#$entos. *mplitud de funciones C administrador de errores.G Co$o se $enciona!a res"ecto al constante a*ance tecnol gico, es con*eniente a#$entar las "osi!ilidades de $#lti"rocesa$iento de los siste$as o"erati*os, "ara "er$itir la e)ec#ci n de *arias a"licaciones sin /#e el siste$a o"erati*o cola"se. Es con*eniente /#e se $ane)en #na serie de f#nciones /#e "er$itan ad$inistrar los "osi!les errores, /#e el $is$o siste$a o"erati*o no sea ca"a3 de corregir de for$a a#to$4tica. -standariDacin.G +ct#al$ente existe #na gran *ariedad de siste$as o"erati*os y dis"ositi*os de hardware /#e tienen s# f#nci n es"ecfica, "or lo /#e es necesaria

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

C@

Programacin de sistemas operativos


Programa desarrollado

#na estandari3aci n "ara tratar de esta!lecer #na co$#nicaci n entre las diferentes ar/#itect#ras. 7a f#nci n "rinci"al de #n siste$a o"erati*o, es esta!lecer y definir las a!stracciones correctas. 7a $ayora de ellas, co$o la ad$inistraci n de "rocesos, archi*os y s#!"rocesos. De!ido a /#e "#eden existir $Elti"les sesiones al $is$o tie$"o en #na co$"#tadora, el siste$a o"erati*o de!e "ro"orcionar $ecanis$os "ara $antenerlos se"arados y no de!er4 existir interferencia entre #nos y otros.

%1%1% .a visin profesional del diseIo


;4sica$ente los conce"tos /#e se to$an en c#enta "ara estr#ct#rar el dise:o del siste$a o"erati*o se !asan en lo sig#ienteD Conecti*idad del siste$a o"erati*o. 2rientaci n a o!)etos. +"licaciones cliente1ser*idor. Ser*icios

Estos conce"tos, se con)#gan de for$a interacti*a ya /#e entre ellos se ofrece la sol#ci n glo!al "ara el desarrollo del siste$a. (ediante la visin del desarrollo del siste$a, se "#ede a"ro*echar "ara crear a"licaciones con f#nciones es"ecficas "ara los #s#arios !asadas en el rendi$iento del siste$a y a"ro*echa$iento de cada dis"ositi*o conectado al siste$a.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

@?

Programacin de sistemas operativos


Programa desarrollado

%1%2% Cuestiones :Bsicas so:re el diseIo


+l iniciar el "roceso de dise:o del siste$a o"erati*o, se de!e hacer hinca"i= en deter$inar la idea conce"t#al de la ar/#itect#ra del siste$a, "#es es la /#e co$En$ente se est4 #tili3ando "ara el desarrollo de n#e*os siste$as o"erati*os. +lg#nos de los as"ectos !4sicos /#e se de!en de to$ar en c#enta "ara el dise:o de #n siste$a o"erati*o sonD /ransparencia.G ;as4ndose en "rogra$as, la trans"arencia se deter$ina so!re el dise:o de interfaces de lla$adas al siste$a, de $odo /#e no sea *isi!le la existencia de dos o $4s "rocesadores. Se dice /#e #n siste$a no es trans"arente ya /#e el acceso a los archi*os re$otos se reali3an $ediante el esta!leci$iento ex"licito de #na conexi n en la red con #n ser*idor re$oto, c#ando el en*o "osterior de $ensa)es a los ser*icios re$otos sea distinto al acceso a los ser*icios locales. Se tienen diferentes ti"os de trans"arencia, lo c#ales se !asan los de locali3aci n, $igraci n, r="lica conc#rrencia y "aralelis$o. 'leEi:ilidad.G 7a flexi!ilidad es #na de las c#estiones !4sicas so!re el dise:o de #n siste$a o"erati*oB existen dos as"ectos i$"ortantes en la estr#ct#ra de los siste$asD $onoltico /#e se refiere a /#e la $4/#ina de!er4 e)ec#tar #n nEcleo tradicional /#e "ro"orcione la $ayora de los ser*icios y micronucleo co$En$ente no$!rado micro ernel! /#e de!er4 "ro"orcionar lo $enos "osi!leB el gr#eso de los ser*icios del siste$a o"erati*o se de!e o!tener a "artir de los ser*idores al ni*el de #s#ario. 7a $ayora de las lla$adas al siste$a se reali3an $ediante se:ala$iento al nEcleo. Confia:ilidad.G Este "#nto "#ede llegar a ser crtico de"endiendo de la o!)eti*idad del siste$aB o, si falla algEn "roceso, otro adicional al siste$a o"erati*o de!er4 encargarse del tra!a)o. 7a confia!ilidad "#ede *erse dis$in#ida, ya /#e en $#chas ocasiones, se re/#iere de /#e ciertos ser*icios si$#lt4neos est=n "rocesando infor$aci n y en f#nciona$iento, la dis"oni!ilidad se "#ede $e)orar $ediante #n dise:o /#e no re/#iera dentro de s# ar/#itect#ra #n f#nciona$iento si$#lt4neo de co$"onentes crticos y esta!lecer #n "#nto de red#ndancia, c#ya

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

@1

Programacin de sistemas operativos


Programa desarrollado

caracterstica es la d#"licidad de co$"onentes cla*es del siste$a o"erati*o. Ao ol*ide$os la "arte de la seg#ridad, la c#al se !asa en la "rotecci n de rec#rsos y la tolerancia a fallos, donde "or lo general se reco$ienda /#e las fallas del siste$a o"erati*o sean oc#ltas con #na rec#"eraci n de for$a trans"arente "ara el #s#ario. DesempeIo.G El dese$"e:o )#ega #n "a"el $#y i$"ortante, "#es genera /#e c#ando se e)ec#ta #na a"licaci n =sta sea de for$a 4gil con ca"acidades de "oder reali3ar tares de $#lti"rocesos. -scala:ilidad.G 7a n#e*a era de tecnologas indica /#e se tiene /#e ir $e)orando en c#estiones !4sicas de ad$inistraci n de dis"ositi*os de E1S, "ara /#e se est= al da con los re/#eri$ientos del siste$a o"erati*o /#e de!er4 tener la ca"acidad de $e)orar s# "rocesos y gesti n de rec#rsos. %or lo general, cada siste$a o"erati*o s#ele ser distinto #no de otroB "or s# nat#rale3a "ro"ia del ni*el de co$"le)idad y #so, *ara de ac#erdo al o!)eti*o de cada #no. %or lo general #n siste$a o"erati*o s#ele ser #n "rogra$a extre$ada$ente grande, "or lo c#al se "#ede "ensar /#e el dise:o s#ele ser de gran co$"le)idad y difcil de desarrollar. 7os siste$as o"erati*os tienen /#e enfrentar a #s#arios hostiles y /#e desean inter*enir en el f#nciona$iento del $is$o lo c#al "ro*oca /#e el f#nciona$iento del siste$a se *ea *#lnera!le a las $alas intenciones de los $is$os #s#arios. Se de!e c#idar no caer en c#estiones co$oD no tener la idea clara de c $o se *a #tili3ar el siste$a y /#= es lo /#e se #tili3ar4 de =ste. 7a porta:ilidad se ha *#elto #na necesidad !4sica en siste$as o"erati*os $odernos, "#es s#elen dise:arse a $odo /#e se "#edan #tili3ar en diferentes ar/#itect#ras de hard7are! y de!an reconocer sin "ro!le$a la $ayora de dis"ositi*os de E1S. 7a interfaD es la "#erta de entrada a #n siste$a o"erati*o. %or lo general se tiene /#e, $ientras $4s co$"leta, sencilla e integra sea la cara de #n siste$a o"erati*o, este "odr4 ser sencillo de #tili3ar "or el #s#ario.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

@2

Programacin de sistemas operativos


Programa desarrollado

%1%6% Conceptos generales de una arGuitectura


7a arGuitectura de un sistema, es la estr#ct#ra /#e lo confor$a de ac#erdo a s#s co$"onentes de software, "ro"iedades extre$a$ente *isi!les y la relaci n entres ellosB es #n con)#nto de conce"tos y decisiones de dise:o relati*os a la estr#ct#ra del siste$a o"erati*o, /#e de!en hacerse antes de la ingeniera, con el fin de aseg#rar la satisfacci n del #s#ario. Esta conce!ida dentro #n ni*el de dise:o y s# i$"ortancia est4 en ofrecer la co$#nicaci n entre las "ersonas in*ol#cradas, la doc#$entaci n, restricciones de i$"le$entaci n, c#alidades del siste$a. Se !asa en #n dise:o de alto ni*el, a estr#ct#ra del siste$a, los co$"onentes del siste$a s#s relaciones y "rinci"ios de f#ncionalidad, co$"onentes, conectores, config#raci n y restricciones. C#ando se crean ar/#itect#ras de los siste$as se co$"rende /#eD 7a *isi n ar/#itect nica, estilo, "rinci"ios $ecanis$os y cla*es de co$#nicaci n se refiere a la $etaGar/#itect#ra. 7as *istas ar/#itect nicas, so"ortan la doc#$entaci n y co$#nicaci n de la ar/#itect#ra en t=r$inos de los co$"onentes y s#s relaciones, las *istas son Etiles "ara interact#ar con los co$"onentes "ara dese$"e:ar s#s res"onsa!ilidades e*al#ar el i$"acto. 7os "atrones ar/#itect nicos, tales co$o ca"as, cliente ser*idor, $ecanis$os y "#entes, son #tili3ados "ara ser to$ados co$o !ase del dise:o. 7os "rinci"ios de dise:o ar/#itect nico cla*es, a!stracci n, se"araci n de res"onsa!ilidades si$"licidad y t=cnicas de oc#lta$iento de interfaces, son otros de los conce"tos /#e son #tili3ados "ara el dise:o. 7a ar/#itect#ra de software de!e ser diferencial so!re el dise:o e i$"le$entaci n de #n siste$a o"erati*o, ya /#e la ar/#itect#ra es la !ase del dise:o y la i$"le$entaci n es la "#esta en o"eraci n de #n siste$a o"erati*o desarrollado.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

@,

Programacin de sistemas operativos


Programa desarrollado

%1% % Caracter;sticas diferenciales del diseIo


7a ar/#itect#ra de #n siste$a, es reconocida co$o #n ingrediente esencial "ara el dise:o de #n siste$a. Con la ar/#itect#ra definida se "#ede esta!lecer el dise:o y desarrollo de los siste$as, "or lo general se tiene /#e la $ayora de los siste$as o"erati*os esta!lecen #n "#nto de "artida los re/#eri$ientos /#e de!en de c#$"lir "ara el desarrollo del siste$a. El dise:o de la ar/#itect#ra de #n siste$a, tiene /#e estar relacionado con la estr#ct#ra general y las for$as en /#e la estr#ct#ra lle*a a la satisfacci n de las "ro"iedades cla*e del siste$a. El dise:o de la ar/#itect#ra satisface 2 eta"as !4sicasD 8n ni*el de a!stracci n del dise:o, donde los desarrolladores del siste$a "#eden esta!lecer el co$"orta$iento glo!al del $is$o, en el /#e se to$a en c#enta el f#nciona$iento, rendi$iento, confia!ilidad, etc. +s #na excelente ar/#itect#ra, hace al dise:o #na "arte f4cil de esta!lecer. Sir*e co$o $e$oria "ara el siste$a en lo /#e *a e*ol#cionando en tie$"o de desarrolloB el dise:o se #sa en el "roceso de $e)orar el siste$a, esta!leciendo los as"ectos del siste$a. El doc#$entar el "roceso de la ar/#itect#ra del siste$a ay#da !astante al dise:o e, ig#al a todo el ciclo de *ida del siste$a, "ara ofrecer el !#en f#nciona$iento del $is$o. 2tras de las caractersticas del dise:o sonD las incl#idas en ser*icios dis"oni!les, es"eciali3aci n de ser*icios, rec#rsos co$"artidos, trans"arencia de locali3aci n, inde"endencia de hardware, di4logo !asado en $ensa)es, escala!ilidad y re#sa!ilidad de co$"onentes.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

@-

Programacin de sistemas operativos


Programa desarrollado

*ctividad 1% DiseIo de un sistema operativo


Esta acti*idad tiene co$o finalidad /#e refleEiones c $o de!e ser el dise:o de #n siste$a o"erati*o. 0. (etoma la lect#ra de los te$as anteriores. <. Ausca definiciones de #n siste$a o"erati*o &co$o 9indows o 7in#x'. >. $dentifica /#= "ar4$etros de!es considerar "ara dise:ar #n !#en siste$a o"erati*o y /#= es lo $4s i$"ortante. C. $ngresa al foro y genera #na n#e*a entrada.

%2% DiseIo de interfaces


7a ad$inistraci n de los rec#rsos de hardware es el o!)eti*o "rinci"al del dise:o, "ero "ara ello, no se "#ede de)ar de lado el co$o los #s#arios interactEan con la co$"#tadora y, a tra*=s de =sta $ane)an #n siste$a y todas s#s a"licaciones G"#diendo ser este "roceso fascinante, "#es $#cho del tra!a)o se "#ede "las$ar en la "resentaci n de c $o est4 "lanteado el siste$a "ara s# $ane)oG. 7os diferentes ti"os de interfaces /#e se tienen consideradas "ara el desarrollo de #n siste$a sonD $nteraccin 9umanoKcomputadora.G Est4 relacionado con la "r4ctica del dise:o, constr#cci n e i$"le$entaci n de siste$as de c $"#to interacti*os centrados en el #s#ario. S# "rinci"al acti*idad es el desarrollo de n#e*os siste$as de interface "ara los #s#arios, lo /#e i$"lica n#e*as t=cnicas de graficaci n.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

@0

Programacin de sistemas operativos


Programa desarrollado

Fig#ra 1. Dis"ositi*os de interface $nterface :asada en teEto.G +nterior$ente, los desarrollos de siste$as orientados en textos o caracteres, solo tenan la ca"acidad de des"legar c digos 'SC$$ en "antallaB en contraste a los orientados a gr4ficos, la interface de texto consisten en #n con)#nto de co$andos /#e el #s#ario de!e $e$ori3ar y con los c#ales se dan instr#cciones al siste$a "ara el $ane)o de los rec#rsos.

Fig#ra 2. Interface de #s#ario de MS-)OS $nterface grBfica de usuario.G Esta interface a"ro*echa las ca"acidades de des"lieg#e gr4fico de la co$"#tadora, lo c#al "er$ite hacer $4s sencillo el

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

@<

Programacin de sistemas operativos


Programa desarrollado

$ane)o del siste$a, este ti"o de interface #tili3a iconos y $enEs tanto "ara "ara reali3ar co$andos, co$o "ara a!rir archi*os o e)ec#tar alg#na acci n dentro de la a"licaci n. +lg#nos de los co$"onentes gr4ficos co$#nes en este ti"o de interfaces son, el a"#ntador, dis"ositi*o a"#ntador, iconos, $enEs, *entanas, y escritorio. Cada siste$a o"erati*o tiene s# "ro"ia ar/#itect#ra gr4fica.

Fig#ra ,. Interface gr4fica $nterface alternativas.G Este ti"o de interfaces son "oco #tili3adas, "ero de gran #tilidad "ara "ensar en alg#na alternati*a de seg#ridad, las interfaces alternati*as "#eden ser las /#e se !asan en el reconoci$iento de *o3, la c#al so"orta #n di4logo interacti*o entre el #s#ario y #na a"licaci n de software. 7os dis"ositi*os de interface ne#ronal, "er$iten a los #s#arios a"ro*echar las se:ales el=ctricas generadas "or s#s c#er"os "ara controlar #na co$"#tadora o dis"ositi*os el=ctricos conectados entre s. $nterface de usuario.G S# "rinci"al o!)eti*o es i$"le$entar interfaces /#e sean eficientes y efecti*as al ser #tili3adas "or el #s#ario, el inicio de s# desarrollo est4 en el "lantea$iento de "rototi"os de interfaces donde se deter$inan /#= e*entos oc#rrir4n y los "rocesos l gicos a dichos e*entos. Existe #na $etodologa "ara la eta"a de "r#e!as conocida co$o "r#e!as de #sa!ilidad, /#e "#ede *alidar el dise:o de la interface y re*elar 4reas /#e re/#ieran refina$iento. 7a

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

@>

Programacin de sistemas operativos


Programa desarrollado

finalidad de esta t=cnica es "oder identificar el #so /#e le da el #s#ario en for$a directa. %or e)e$"lo, se "#de ensa:ar a los #s#arios a /#e se"an "las$ar la idea de %H(58D%7HK95 FH 2D 7K9H8IDFH LK L6LD875 S5F8tD HMS8H6D8 TL" FH6HD ITL7H85 TLH HK 2D "arte s#"erior de la interface gr4fica, se "#eda tener acceso a $is archi*os D2%DFHKDF56N V5K H69H 97S5 FH DKilisis se interactEa de for$a directa con el #s#ario "ara /#e el desarrollador "#eda ofrecer #n $e)ora$iento en el dise:o de las interfaces.

%2%1% Principios so:re el diseIo de interfaces


D#rante la eta"a del dise:o de interfaces, se de!en de considerar diferentes "rinci"ios rele*antes "ara el dise:o de los diferentes ti"os de interfaces, co$o sonD SencilleD.G %ara e*itar /#e los #s#ario tengan co$"licaciones con las interfaces al $o$ento de estar #tili3ando el siste$a, estas de!en !asarse en el "rinci"io de la sencille3, "ara hacerlas $4s f4cil de entender e i$"le$entar. $ntegridad.G Con la finalidad de "oder "er$itir #tili3ar todas las f#nciones del siste$a, se de!e !asar s# dise:o en el "rinci"io de la integridad "ar /#e "er$ita el #so co$"leto. -ficiencia%K %ara los #s#arios, las lla$adas al siste$a de!en ser de for$a trans"arente, "ara ello la i$"le$entaci n de los $ecanis$os de!e ser de for$a eficiente, "ara el desarrollador de!e ser int#iti*o "ara "oder tener #na eficiencia del siste$a. Con estos "rinci"ios, al desarrollador le "er$itir4 /#e el #so del siste$a "#eda ser del agrado de los #s#arios.

%2%2% Paradigmas
2tros de los criterios /#e se de!en considerar "ara "oder esta!lecer el dise:o de las interfaces, se tienen alg#nas "ro"#estas /#e se tienen "ara co$en3ar con el dise:o de las interfaces.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

@C

Programacin de sistemas operativos


Programa desarrollado

7os "aradig$as tienen #na i$"ortancia cla*e en la "rogra$aci n, "#es "or $edio de estos se "#eden crear "lantea$ientos y !ases "ara "oder desarrollar #n software. +l re*isar los ti"os de "aradig$as de "rogra$aci n $4s co$#nes se enc#entranD $mperativos.G Este ti"o de "aradig$a es el considerado co$o el $4s co$En "ara el desarrollo de siste$as, !asado en sentecias de c4lc#los sencillos e iterati*as, asociadas a #na direcci n de $e$oria, de for$a /#e al final de la iteraci n re"resente el res#ltado correcto. 'uncional.G Se !asan en #n ti"o de "rogra$aci n en for$a de f#nciones $ate$4ticas. .gico.G %ara este "aradig$a se tienen definidas reglas l gicas /#e res#el*en "ro!le$as "lanteados "or el siste$a. Orientado a o:>etos.G S# finalidad es enca"s#lar estado y o"eraciones en o!)etosB "oseen clases y herencias, los c#ales se "#eden co$#nicar entre ellos. -structurado.G El c digo se di*ide en !lo/#es, estr#ct#ras, /#e "#eden o no co$#nicarse entre ellas, las c#ales "#eden ser controlados "or sec#encias, selecci n e interacci n. ,uiada por eventos.G 7a estr#ct#ra de este "aradig$a y s# e)ec#ci n de "rogra$as *an deter$inados "or los s#cesos /#e oc#rran en el siste$a o /#e ellos $is$os "ro*o/#en.

%2%6% .lamadas al sistema


D#rante el desarrollo de las interfaces, las lla$adas al siste$a de!en c#$"lir con el $enor nE$ero de lla$adas, es i$"ortante contar con #n "aradig$a de datos #nificador el c#al ser4 de $#cha #tilidad d#rante el "roceso de dise:o. 7as lla$adas al siste$a no de!er4n interferir en la "otencia del hardware Gsi el hardware c#enta con #n $ecanis$o !astante eficiente "ara hacer algo so!re los $ecanis$o de accesoG y, si #na lla$ada al siste$a es r4"ida los #s#arios sie$"re "odr4n constr#ir interfaces $4s c $odas con !ase en ella.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

@@

Programacin de sistemas operativos


Programa desarrollado

Co$o se $encion con anterioridad, el siste$a o"erati*o "ara ser eficiente, de!era de ofrecer el $enor nE$ero de lla$adas al siste$a, "or lo c#al de!e de c#$"lir con estos criteriosD Se de!e contar con #n "aradig$a #nificador de datos. (ane)o de for$a general de lla$adas al siste$a %rocedi$ientos de !i!lioteca sencillos y es"ecficos. Deter$inar la i$"le$entaci n de las lla$adas al siste$a so!re conexiones o sin conexiones. 2tra consideraci n /#e *a relacionada con la interfa3 de lla$adas al siste$a es s# *isi!ilidadB alg#nos siste$as o"erati*os co$o 8nix reconoce las lla$adas adicionales, as la lista de "rocesos es "E!lica, en el caso de 9indows no ha hecho "E!licas la lista de lla$adas al siste$a. 7a diferencia entre hacer "E!lico o no las listas, ay#da a los i$"le$entadores en la flexi!ilidad "ara ca$!iar las lla$adas al siste$a reales. 7a cantidad y ti"o de lla$adas al siste$a, *a en relaci n al siste$a o"erati*o y *aran de #no a otro. Existen, "or lo generalD las lla$adasal siste$a "ara la e)ec#ci n de ficheros /#e contienen "rogra$as y "ara "edir $4s $e$oria din4$ica "ara #n "rogra$a.

*ctividad 2% *rGuitectura del diseIo del sistema operativo .inuE


Esta acti*idad tiene co$o "ro" sito /#e distingas c $o est4 estr#ct#rada la ar/#itect#ra del siste$a o"erati*o 7in#x% 1. $nvestiga so!re la ar/#itect#ra del siste$a o"erati*o 7in#x, "rinci"ios del dise:o, "aradig$as y lla$adas al siste$a. 2. Con !ase en la in*estigaci n, realiDa ela!ora #n archi*o de texto /#e contenga los te$as $encionados "ero con enfo/#e en 7in#x.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

1??

Programacin de sistemas operativos


Programa desarrollado

,. ,uarda la acti*idad con el no$!re %S2P8-P+2PLLJT. SustituCe las LL "or las dos "ri$eras letras del "ri$er no$!re, la J "or la inicial del a"ellido "aterno y la T "or la inicial del a"ellido $aterno. -. -nv;a el archi*o a t# Facilitador&a' "ara reci!ir retroali$entaci n.

%6% $mplementacin C desempeIo


%ara la i$"le$entaci n de las a"licaciones en general es con*eniente for$ar en tres a"artadosD Integraci n de todos los co$"onentes. 2!)etos distri!#idos. Ser*icios.

En estr#ct#ras si$ilares de datos "ara siste$as o"erati*os, existe la "osi!ilidad /#e #no sea $4s r4"ido /#e otro, "ero ta$!i=n, "#ede ser /#e el siste$a $4s r4"ido "#ede ser $enos confia!le /#e el siste$a $4s lento. Tratar de reali3ar o"ti$i3aciones co$"le)as en estr#ct#ra del siste$a o"erati*o "#ede generar errores, "ara e*itar estos errores es con*eniente a"licarlos solo si son necesarias. Existen diferentes t=cnicas /#e "#eden ser #tili3adas "ara $e)orar el dese$"e:o en la estr#ct#ra del siste$a, las c#ales se *er4n a contin#aci n.

%6%1% -structura del sistema


De ac#erdo a todo lo /#e se ha co$entado en ca"t#los anteriores, so!re +d$inistraci n de "rocesador, $e$oria y dis"ositi*os de E1S, as co$o la ad$inistraci n de archi*os, seg#ridad y "rotecci n del siste$a o"erati*o, la "arte /#e corres"onde a la estr#ct#ra del siste$a o"erati*o, sir*e "ara dar referencia, sa!er "or/#= alg#nos siste$as o"erati*os

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

1?1

Programacin de sistemas operativos


Programa desarrollado

c#entan con $4s ele$entos /#e otros, co$o est4n ar/#itect nica$ente constr#idos y "or /#= adicionar o no ser*icios al siste$a. Es i$"ortante tener $#y en c#enta la eta"a de an4lisis del siste$a, ya /#e es a/# donde se tendr4 lnea "ara la eta"a del desarrollo y "ara sa!er lo /#e se tiene /#e hacer, c $o hacerlo y c#4l ser4 s# l$ite. 7a ar/#itect#ra de #n siste$a re"resenta #n "aso hacia el desarrollo del $is$o, #na *e3 /#e se anali3an y definen los re/#eri$ientos del #s#ario. El siste$a /#edar4 con todos los $ d#los o s#!siste$as "ara tener #na estr#ct#ra co$"leta de los datos /#e se tendr4n /#e "rocesar. Hoy en da existen diferentes ti"os de siste$as o"erati*os, dentro de los c#ales est4n los $4s co$#nesD )onotarea.G Solo "#ede e)ec#tar #na tarea Enica$ente. )ultitarea.G Tiene la ca"acidad de e)ec#tar *arias tareas. )onousuario.G %er$ite ser oc#"ado "or #n #s#ario Enico d#rante el tie$"o de e)ec#ci n de s#s "rocesos. )ultiusuario.G %er$ite ser oc#"ado "or dos o $4s #s#arios d#rante el tie$"o de e)ec#ci n de s#s "rocesos. )onoproceso.G Solo "#ede gestionar #n solo "rocesador )ultiproceso.G %er$ite gestionar dos o $4s "rocesadores "ara gestionar la carga entre ellos. ClienteKServidor.G Distri!#ye las tareas entre diferentes lla$adas al siste$a.

Todos esos ti"os de siste$as o"erati*os tienen "ro"ia$ente s# estr#ct#ra f#ncional, la c#al *ariar4 de"endiendo s# ti"o. +s co$o "ara cada ti"o de siste$a o"erati*o hay diferentes ti"os de estr#ct#ras, existen diferentes alternati*asD Por capas C anillos.G En este ti"o de estr#ct#ra se conte$"lan seis ca"as "ara s# for$aci nD + Ca"a ?, ca"a /#e se encarga de la ad$inistraci n de $#lti"rogra$aci n !4sica del $icro"rocesador + Ca"a 1, en esta ca"a se encarga de gestionar el es"acio en la $e$oria.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

1?2

Programacin de sistemas operativos


Programa desarrollado

+ Ca"a 2, "ara esta ca"a s# "rinci"al acti*idad es co$#nicar entre cada "roceso y la consola del o"erador. + Ca"a ,, en esta ca"a la gesti n se enfoca so!re los dis"ositi*os de E1S. + Ca"a -, esta ca"a se gestionan los "rogra$as de los #s#arios. + Ca"a 0, es donde se alo)an los "rocesos del o"erador del siste$a. *rGuitectura )aGuina virtual.G Esta ar/#itect#ra, alternati*a de software, se *#el*e cada *e3 $4s Etil "ara el $ane)o de ser*idores y econo$i3ador de hardware, de tal for$a /#e el siste$a e$#la la existencia de hardware y el software con*ierte las "eticiones a la $a/#ina *irt#al en o"eraciones so!re la $4/#ina fsica. Existen diferentes ti"os de *irt#ali3aci nD + $#M 8M, las $a/#ina *irt#ales se !asa!an en $onoGtarea. + 9ava 8M, esta $4/#ina "er$ite la e)ec#ci n de c digos !inarios en distintas "latafor$as. + 8M2are, tiene la fac#ltad de "oder e)ec#tar *arias $4/#inas con distintas sesiones, + Citri3, al ig#al /#e vm7are "#ede e)ec#tar *arias $4/#inas con distintas sesiones, y con s#s caractersticas "ro"ias del software /#e "er$ite el $ane)o de dis"ositi*os entre s#s $a/#inas. *rGuitectura Lernel monol;tico.G Esta ar/#itect#ra se define "or la existencia de #na colecci n de "rocedi$ientos y, de for$a inde"endiente, cada "rocedi$iento "odr4 in*ocar a c#al/#iera de los otros, cada *e3 /#e re/#iere hacerlo, "or $edio s# interface deter$inante a tra*=s de "ar4$etros y res#ltados. *rGuitectura microLernel C multi9ilado.G Este ti"o de ar/#itect#ra, se !asa en o!tener la $ayor f#ncionalidad del Qernel, se li$ita "ara /#e se "#eda e)ec#tar en $odo "ri*ilegiado y /#e "er$ita las $odificaciones y extensiones de for$a si$"le y sencilla. *rGuitectura orientada a o:>etos.G %ara este ti"o de ar/#itect#ras los rec#rsos /#e "ro*ee el siste$a o"erati*o es "or $edio grafico # o!)etos. *rGuitectura clienteKservidor.G En esta ar/#itect#ra el $odelo "rinci"al de tra!a)o, se encarga en di*idir los "rocesos inde"endientes /#e o"eran entre ellos, lo c#al es de #tilidad "ara interca$!iar infor$aci n, rec#rsos, "rocesos y ser*icios.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

1?,

Programacin de sistemas operativos


Programa desarrollado

7os n#e*os desarrollos de siste$as o"erati*os, tienen #n "anora$a $4s a$"lio "ara s# desarrollo. Cada #no de s#s co$"onentes ar/#itect nicos for$a "arte de #n e)e$"lo de !ase de dise:o.

%6%2% )ecanismos en comparacin con pol;ticas


7os $ecanis$os son "arte de la estr#ct#ra del siste$a o"erati*o, as co$o las "olticas de los "rocesos de cada #s#arioB donde existir4n estr#ct#ras, arreglos de datos y #niones. 7a se"araci n de estos conce"tos ay#da a la coherencia y estr#ct#ra del siste$aB co$o lo F7FH >DKHKEDL% I2985 S87KF7S75 TLH D^LFD D 2D F5\H8HKF7D D8TL79HF9yK7FD ade$4s de /#e e*ita /#e las cosas cre3can de$asiado y las $antiene !ien estr#ct#radas, H6 H2 FH 6HSD8D8 H2 %HFDK76%5 ^ 2D6 S52t97FD6N 7as "olticas "#eden ser i$"le$entadas dentro del nEcleo y las "olticas f#era o dentro del $is$o nEcleo. 7a intenci n de "er$itir la $e3cla de las estr#ct#ras contenidas "or arreglos de enteros, de caracteres, $ie$!ros de la estr#ct#ra y de #niones, "er$ite definir #n n#e*o ti"o de datos el c#al "#ede ser #tili3ado co$o si f#era #n ti"o "ri$iti*o. 7a ortogonalidad, es la ca"acidad de "oder co$!inar estos distintos ti"os de for$as inde"endientesB =sta se !asa en los "rinci"ios de la sencille3 e integridad "ara el desarrollo de #n siste$a, "or lo /#e "#ede ser #tili3ada "ara se"arar los conce"tos de "rocesos y s#!"rocesos, donde #n "roceso es #n contenedor de rec#rsos y #n s#!"roceso es #na entidad.

%6%6% -structuras estBticas o dinBmicas


%ara el desarrollo de la ar/#itect#ra de #n siste$a o"erati*o, "or lo general s#ele #tili3arse dos ti"os de estr#ct#rasD

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

1?-

Programacin de sistemas operativos


Programa desarrollado

DinBmicas% Este ti"o de estr#ct#ras se disting#e "or ser $4s flexi!les y "er$iten ada"tarse a todos los rec#rsos dis"oni!les, "ero tiene co$o des*enta)a de /#e re/#ieren de #n gestor de $e$oria dentro del siste$a o"erati*o.

-stBticas. En este ti"o de estr#ct#ras, se caracteri3an "or ser de $4s f4cil co$"rensi n, s# "rogra$aci n es $4s si$"le y s# #so es $4s r4"ido.

El desarrollador de!er4 deter$inar /#= ti"o de estr#ct#ra de!er4 #tili3ar "ara la i$"le$entaci n el desarrollo de s# ar/#itect#ra, considerando es"acios de "rocesos de #s#ario o es"acio de "rocesos en nEcleos.

%6% % $mplementacin descendente o ascendente


%ara la i$"le$entaci n de #n siste$a, existen diferentes ti"os de t=cnicas /#e son de gran #tilidad "ara lle*ar a ca!o el "roceso de i$"le$entaci n, entre las /#e est4nD Ocultacin del hardware.G Esta t=cnica "er$ite oc#ltar las interr#"ciones, con*irti=ndolas en o"eraciones de sincroni3aci n entre hilos. El oc#ltar la ar/#itect#ra del hardware, "er$ite facilitar la trans"orta!ilidad del siste$a o"erati*o. 7a f#ente del siste$a o"erati*o de!e ser Enica y #na co$"ilaci n condicional. Indireccin.G %ara esta t=cnica de!er4 existir cierta flexi!ilidad "or "arte del siste$a o"erati*o, ya /#e si "or algEn $oti*o el #s#ario da la entrada de algEn "roceso "or $edio del teclado, al "#lsar la tecla "#ede o!tener #n *alor /#e no corres"onde con lo deseado, "ara sol#cionarlo de!e existir la "osi!ilidad de #tili3ar config#raciones distintas de teclados. Reentrabilidad.G En esta t=cnica se "er$ite la e)ec#ci n de for$a si$#lt4nea de algEn frag$ento de c digo, la e)ec#ci n se "#ede dar dentro de #n $#lti"rocesador o en #n monprocesador Gen este, "#eden darse interr#"ciones c#ando se e)ec#ten las $is$as "orciones del c digo al anterior. %ara #n !#en "roceso de la i$"le$entaci n de #n siste$a, "odra *erificarse la existencia de errores. C#ando #na lla$ada al siste$a falla, "#ede ser "or/#e los ficheros no existen

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

1?0

Programacin de sistemas operativos


Programa desarrollado

dentro del $ d#lo o !ien "ertenecen a otro, se de!en considerar la $ayor "arte de las "r#e!as al inicio del "rocedi$iento "ara *alidar la e)ec#ci n de lla$adas al siste$a.

%6%!% Principios de optimiDacin


Sie$"re /#e se tiene el siste$a en "roceso de i$"le$entaci n, se tiene en $ente la co$"araci n al "ensarseD /#= es $4s con*eniente, #n siste$a o"erati*o r4"ido, confia!le o lento. 7a o"ti$i3aci n co$"le)a es co$En /#e genere errores de dise:o, "or lo c#al es con*eniente o"ti$i3ar solo lo necesario dentro de la ar/#itect#ra del siste$a. +l *er /#e se es"era /#e #n siste$a sea sencillo y r4"ido o ro!#sto y lento, de!en considerarse las f#nciones /#e se desean adicionar a la estr#ct#ra y *alidar si es necesario $odificarla "ara s# dese$"e:o. %ara dar a #n siste$aD seg#ridad, integridad y o"ti$i3aci n G/#e sean s#ficientes "ara #n !#en dese$"e:oG, es necesario di$ensionar la ar/#itect#ra del siste$a $is$o y s# o"ti$i3aci n.

%6%6% 0so de cac9Hs


7a cache es #n $edio de #tilidad de al$acena$iento te$"oral, s# f#nci n es ha!ilitar el acceso a datos /#e han sido reciente$ente cons#ltados esto "er$ite hacer $4s 4gil el "roceso de lect#ra. En el desarrollo de #n siste$a esta t=cnica en !astante conocida "ara $e)orar el dese$"e:o y *elocidad al acceso de archi*o, "#ede a"licarse en sit#aciones en las /#e es "ro!a!le /#e se *aya a necesitar el $is$o res#ltado *arias *eces. %or lo general se #tili3a "ara a/#ellos dis"ositi*os de E1S /#e re/#ieran el $is$o res#ltado en *arias ocasiones. Existen diferentes ti"os de caches entre los /#e est4nD Cac9e de :loGues.G En este ti"o de cache es #n "e/#e:o seg$ento de $e$oria .'M! /#e se a:ade algEn sitio del disco con la finalidad de al$acenar los datos

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

1?<

Programacin de sistemas operativos


Programa desarrollado

/#e han sido ledos con anterioridad, teniendo co$o res#ltado agilidad al cargar los datos Cac9e de paginacin.G Este ti"o de cache se al$acena en $e$oria .'M! dentro del disco d#ro.

*ctividad 6% Diagrama de flu>o para la implementacin de un SO


En esta acti*idad reali3ar4s #n diagra$a de fl#)o de c $o se de!e reali3ar #n siste$a o"erati*o. 2. En #n archi*o de texto realiDa #n diagra$a de fl#)o considerando la i$"le$entaci n y el dese$"e:o de #n S2. 2. ,uarda la acti*idad con el no$!re %S2P8-P+,PLLJT. SustituCe las LL "or las dos "ri$eras letras del "ri$er no$!re, la J "or la inicial del a"ellido "aterno y la T "or la inicial del a"ellido $aterno. ,. -nv;a el archi*o a t# Facilitador&a' "ara reci!ir retroali$entaci n.

*ctividad % Cmo optimiDar Jindows


El "ro" sito de esta acti*idad es /#e realices #na in*estigaci n en Internet y !#s/#es co$entarios y o"iniones de "ersonas /#e tienen ex"eriencia en el #so del siste$a o"erati*o 9indows. 1. $nvestiga acerca de c $o se "odra o"ti$i3ar 9indows &/#= se reco$ienda "ara /#e f#ncione $e)or, con $enos o $4s *entanas, $4s $e$oria, etc.' 2. En #n archi*o de texto reporta t# in*estigaci n y reco$endaciones. ,uarda la acti*idad con el no$!re %S2P8-P+-PLLJT. Donde LL es t# a"ellido&s' y JJ no$!re&s'.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

1?>

Programacin de sistemas operativos


Programa desarrollado

,. -nv;a el archi*o a t# Facilitador&a' "ara reci!ir retroali$entaci n.

*utoevaluacin
%ara refor3ar los conoci$ientos relacionados con los te$as /#e se a!ordaron en esta tercera #nidad del c#rso, es necesario /#e res#el*as la acti*idad integradora. 5ec#erda /#e es $#y i$"ortante leer c#idadosa$ente los "lantea$ientos indicados y elegir la o"ci n adec#ada "ara cada #no.

-videncia de aprendiDa>e% Diagrama de flu>o para diseIar un sistema operativo


Co$o "arte de la e*al#aci n de esta #nidad, de!es lle*ar a ca!o #na acti*idad c#yo "ro" sito es conce"t#ar el "roceso de dise:o de #n siste$a o"erati*o. 1. En #n archi*o de realiDa #n diagra$a de fl#)o de c $o al dise:ar #n siste$a o"erati*o afectan todos los te$as y s#!te$as de esta #nidad en el orden y for$a /#e consideres de!en irse resol*iendo "ara reali3ar #n !#en dise:o de #n siste$a o"erati*o. 2. ,uarda la e*idencia con el no$!re %S2P8-PE+PLLJT. SustituCe las LL "or las dos "ri$eras letras del "ri$er no$!re, la J "or la inicial del a"ellido "aterno y la T "or la inicial del a"ellido $aterno. ,. -nv;a el archi*o a t# Facilitador&a' "ara reci!ir retroali$entaci n.

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

1?C

Programacin de sistemas operativos


Programa desarrollado

*utorrefleEiones
+de$4s de en*iar t# tra!a)o de la E*idencia de a"rendi3a)e, es i$"ortante /#e ingreses al foro Preguntas de 'utorrefle3in y consultes las "reg#ntas /#e t# Facilitador&a' "resente, a "artir de ellas, de!es ela!orar t# +#torreflexi n en #n archi*o de texto lla$ado %S2P8-P+T5PLLJT. %osterior$ente en*a t# archi*o $ediante la herra$ienta 'utorrefle3iones.

Cierre de la unidad
Has concl#ido la c#arta #nidad del c#rso. + lo largo de =sta se *ieron conce"tos !4sicos so!re dise:o de siste$as o"erati*os, las !ases del dise:o, dise:o de interfaces y la i$"le$entaci n y dise:o final con te$as co$o la *isi n "rofesional del dise:o, c#estiones !4sicas y conce"tos generales, los "rinci"ios del dise:o, "aradig$as y lla$adas al siste$a y "or #lti$o los s#!te$as de estr#ct#ra, s#s $ecanis$os s#s estr#ct#ras, s# i$"le$entaci n la o"ti$i3aci n y el $ane)o de los caches. Es aconse)a!le /#e re*ises n#e*a$ente la #nidad en caso de /#e los te$as /#e se aca!an de $encionar no te sean fa$iliares o no los rec#erdes, de no ser este t# caso, ya est4s listo "ara ter$inar esta $ateria de %rogra$aci n de Siste$as 2"erati*os.

Para sa:er mBs


Si deseas sa!er acerca de c $o se crea #n diagra$a de fl#)o, cons#lta la sig#iente direcci n electr nicaD

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

1?@

Programacin de sistemas operativosSil!erschat3, + &2??<' "undamentos de Sistemas


Programa desarrolladoOperativos.Es"a:aD (c. Fraw Hill
C $o crear #n diagra$a de fl#)o htt"D11www.ed#carchi l e.cl18serFi l es1%??2@1Fi l e12!)etosPD i dact i cos1E72P12PE7E1 5ec#rsosP"araP l aP+ct i * i dad1Co$oPcrearP#nPD i agra$aPdePF l # ) o."df

'uentes de consulta
Candela, S. y Farca, C. &2??>' "undamentos de Sistemas Operativos. +eor4a y e5ercicios resueltos. Es"a:aD %araninfo. 2rti3, H. &2??0' Sistemas Operativos Modernos. Colo$!iaD (edellin. Tanen!a#$, + &2??,' Sistemas Operativos Modernos. (exicoD %earson Ed#caci n. Stallings, 9. &2??0' Sistemas Operativos Modernos: 'spectos $nternos y principios de diseo. (=xicoD %earson, %rentice Hall

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

11?

Vous aimerez peut-être aussi