Tema 2. Consideraciones generales del sistema operativo ni!
"istoria del sistema operativo ni! #rigenes $ finales de los a%os &0' los la(oratorios )T* +)ell Telep,one *a(oratories- propiedad de la compa%.a $T/T esta(an invol0crados en 0n pro1ecto con la compa%.a 2eneral 3lectric 1 el 45T +4assac,0setts 5nstit0te of Tec,nolog1- para desarrollar 0n sistema operativo m0lti0s0ario denominado 40ltics. C0ando el pro1ecto 40ltics f0e cancelado en mar6o de 19&9' 0no de s0s creadores' 7en T,ompson' comen6 a programar el 80ego 9pace Travel :0e corr.a so(re la comp0tadora ;<;=7 +constr0ida por <3C +<igital 3:0ipment Corporation--. Con el o(8etivo de facilitar el desarrollo de 9pace Travel' T,omson 80nto con <ennis >itc,ie' comen6aron a desarrollar 0n sistema operativo para la ;<;=7. 90 primer componente f0e 0n sencillo sistema de fic,eros el c0al evol0cion ,asta convertirse en la primera versin de lo :0e a,ora se conoce como sistema de fic,eros 91stem ? +sfs@-. $ contin0acin le a%adieron 0n s0(sistema de procesos' 0n interprete de comandos simple +el c0al evol0cion ,asta convertirse en el )o0rne s,ell-' 1 0n pe:0e%o con80nto de 0tilidades. )a0ti6aron a este n0evo sistema operativo con el nom(re de A5B +nom(re :0e se o(tiene de reali6ar 0n 80ego de pala(ras con 40ltics-. $l a%o sig0iente T,ompson' >itc,ie 1 Cosep, #ssanna portaron A5B a 0na comp0tadora ;<;=11' 1 le a%adieron varias 0tilidades para el procesamiento de te!tos' como el editor ed. ;or otra parte' T,ompson tam(iDn desarroll 0n n0evo leng0a8e al :0e llam ) 1 lo 0tili6 para escri(ir diversas 0tilidades. ;osteriormente' >itc,ie lo me8or ,asta convertirlo en lo :0e denomin como leng0a8e C' el c0al era compila(le 1 soporta(a diferentes tipos 1 estr0ct0ras de datos. 3n 1973' A5B f0e escrito en leng0a8e C' 0n ,ec,o :0e res0lt f0ndamental para el D!ito de este sistema operativo. <e(ido a las le1es antimonopolio vigentes en los 3stados nidos' $T/T concedi licencias grat0itas de 0so de A5B con fines ed0cativos 1 de investigacin a las 0niversidades. <entro del Em(ito 0niversitario A5B rEpidamente se e!tendi por todo el m0ndo. 3l 0so de A5B por la com0nidad 0niversitario aport a $T/T ideas 1 s0gerencias para ir me8orando s0 sistema operativo. 3ste esp.rit0 de cooperacin entre propietarios 1 0s0arios +el c0al se deterior considera(lemente 0na ve6 :0e A5B t0vo D!ito comercial- f0e 0n factor clave para el rEpido crecimiento 1 a0mento de la pop0laridad de A5B. Pgina 1 de 5 tema2_02 OCW UNED 17/09/2014 http://!"#inn$a#%ned#e&/!"%ni$e'&ia/(ng_te!ni!_in)'_&i&tema&/*O_((/!ntenid&### *as primeras versiones de A5B Fnicamente corr.an so(re la comp0tadora ;<;=11 1 la comp0tadora 5nterdata G/32. ;ronto A5B f0e portado a otras ar:0itect0ras. 4icrosoft Corporation 1 9anta Cr06 #peration +9C#- cola(oraron para portar A5B a la ar:0itect0ra 5ntel G0G&' lo :0e res0lt en B3A5B' 0na de las primeras variantes comerciales de A5B. 3n 197G <3C introd08o la comp0tadora ?$B=11 de 32 (its e imp0ls 0n gr0po de tra(a8o para portar A5B a la ar:0itect0ra ?$B' la versin res0ltante +la primera para 0na mE:0ina de 32 (its- se denomin A5B/32?. *a distri(0cin )9< de A5B *a niversidad de )erHele1 en California o(t0vo 0na de las primeras licencias de A5B en diciem(re de 1974. <0rante los a%os sig0ientes' 0n gr0po de est0diantes entre los :0e se encontra(an )ill Co1 1 C,0cH "ale1 desarrollaron diversas 0tilidades para A5B' como el editor e! +al c0al le sig0i el editor vi- 1 0n compilador de ;ascal. 5ncl01eron estas 0tilidades en 0n pa:0ete denominado )9< 1 lo comerciali6aron en la primavera de 197G. *as versiones iniciales de )9< consist.an Fnicamente en aplicaciones 1 0tilidades' 1 no modifica(an o redistri(0.an el sistema operativo. na de las primeras contri(0ciones de )ill Co1 f0e el interprete de comandosC' :0e s0ministra(a servicios tales como el control de tareas 1 0n ,istrico de comandos' los c0ales no se encontra(an incl0idos en el interprete de comandos )o0rne. 3n 197G )erHele1 ad:0iri 0na comp0tadora ?$B=11/7G0 1 el A5B/32?. *a ?$B ten.a 0na ar:0itect0ra de 32 (its' lo :0e permit.a 0n espacio de direccionamiento de 4 2iga(1tes' pero solo 0na memoria f.sica de 2 4ega(1tes. #6alp )a(aogl0 dise% para ?$B 0n sistema de memoria virt0al (asado en pEginas 1 lo incorpor dentro de A5B. 3l res0ltado f0e la versin 3.0 de )9< +)9<3.0- a finales de 1979' :0e f0e la primera versin del sistema operativo A5B generada por )erHele1. $ Dsta le sig0ieron las versiones 4.! +)9<4.!-: )9<4.0 en 19G0' )9<4.1 en 19G1' )9<4.2 en 19G3' )9<4.3 en 19G& 1 )9<4.4 en 1993. 3l e:0ipo de )erHele1 f0e responsa(le de importantes contri(0ciones tDcnicas a A5B. $demEs de la memoria virt0al 1 la incorporacin del TC;/5;' )9< A5B introd08o el sistema de fic,eros rEpido +II9-' 0na implementacin mEs fia(le del mecanismo de se%ales' 1 el servicio de conectores +socHets-. Con el o(8etivo de comerciali6ar )9<4.4 se cre la compa%.a )9<5 +)erHele1 9oftJare <esign' 5nc-. ;0esto :0e la ma1or.a del cdigo f0ente de A5B ,a(.a sido s0stit0ido con n0evo cdigo desarrollado en )erHele1' )9<5 afirma(a :0e el cdigo f0ente de s0 distri(0cin era completamente li(re de las licencias de $T/T. $s.' $T/T inici 0na (atalla 80dicial contra )9<5' alegando 0na v0lneracin del cop1rig,t' inc0mplimiento de contrato 1 apropiacin de secretos comerciales. *a distri(0cin 91stem ? de A5B <e forma paralela al desarrollo de )9<' $T/T sac al mercado la distri(0cin de A5B 91stem 555 en 19G2 1 la distri(0cin 91stem ? en 19G3. <e esta Fltima distri(0cin aparecieron la versin 2 +9?>2- en 19G4' la versin 3 +9?>3- en 19G7 1 la versin 4 +9?>4- en 19G9. *a distri(0cin 91stem ? de A5B incl0.a (astantes caracter.sticas 1 servicios n0evos. 90 implementacin de la memoria virt0al' denominada ar:0itect0ra de regiones' era (astante diferente de la de la Pgina 2 de 5 tema2_02 OCW UNED 17/09/2014 http://!"#inn$a#%ned#e&/!"%ni$e'&ia/(ng_te!ni!_in)'_&i&tema&/*O_((/!ntenid&### distri(0cin )9<. 9?>3 introd08o n0evos mecanismos de com0nicacin entre procesos +semEforos' memoria compartida 1 colas de mensa8es-' fic,eros remotos compartidos' li(rer.as compartidas' 1 los streams +para los drivers de dispositivos 1 para los protocolos de red-. Comerciali6acin de A5B *a creciente pop0laridad de A5B atra8o el interDs de distintas empresas fa(ricantes de comp0tadoras :0e se apres0raron a comerciali6ar s0s propias distri(0ciones de A5B' las c0ales era 0na adaptacin para el ,ardJare de s0s comp0tadoras de las distri(0ciones de $T/T o de )erHele1' me8oradas en alg0nos aspectos. 3n 1977 5nteractive 91stems f0e el primer vendedor comercial de A5B. 90 primera distri(0cin de A5B se llam 59/1 1 corr.a en las comp0tadoras ;<;=11. 3n 19G2 )ill Co1 de8 )erHel1 para f0ndar 90n 4icros1stems' la c0al comerciali6 0na variante de la versin 4.2 de la distri(0cin )9< a la :0e de llam 90n#9 + 1 mEs tarde 0na variante de 9?>4 llamada 9olaris-. 4icrosoft 1 9C# sacaron la distri(0cin B3A5B. ;osteriormente' 9C# port 9?>3 a la ar:0itect0ra 3G& 1 sac al mercado la distri(0cin 9C# A5B. 3n dDcada de los G0 e!ist.an n0merosas ofertas comerciales' incl01endo $5B de 5)4' ";=B de "eJlett=;acHard Corporation' 1 *T>5B +seg0ido por <3C #9I/1' posteriormente re(a0ti6ado como <igital A5B- de <3C. Todas estas variantes comerciales introd08eron (astantes caracter.sticas n0evas' alg0nas de las c0ales f0eron incorporadas s0cesivamente en las n0evas versiones. 90n#9 introd08o el sistema de fic,eros en red AI9 +AetJorH Iile 91stem-' el interfa6 nodo=v/sfv para soportar mFltiples tipos de sistemas de fic,eros' 1 0na n0eva ar:0itect0ra de memoria virt0al :0e f0e adoptada por 9?>4. $simismo sac *T>5B 0no de los primeras distri(0ciones A5B para m0ltiprocesador. 3stEndares para compati(ilidad en A5B *a proliferacin de variantes de A5B cond08o a varios pro(lemas de compati(ilidad. 4ientras :0e todas las variantes Kparec.an como A5BK desde le8os' difer.an en (astantes aspectos importantes. 3n 0n principio' la ind0stria esta(a dividida por las diferencias entre la distri(0cin 91stem ? de $T/T +el A5B oficial- 1 la distri(0cin )9< de )erHele1. *a introd0ccin de variantes comerciales empeor la sit0acin. 91stem ? 1 )9<4.! difieren en m0c,os aspectos: sistemas de fic,eros f.sicos' entorno de tra(a8o en red' ar:0itect0ras de memoria virt0al' etc. $lg0nas de estas diferencias se limitan al dise%o e implementacin del nFcleo' pero otras se manifiestan en la programacin a nivel del interfa6 entre los programas 1 el sistema operativo. Ao es posi(le escri(ir 0na aplicacin comple8a :0e p0eda e8ec0tarse sin ser modificada en sistemas 91stem ? 1 en sistemas )9<. *as variantes comerciales deriva(an o del 91stem ? o del )9<' 1 desp0Ds eran me8oradas en alg0nos aspectos. 3stas caracter.sticas adicionales eran a men0do in,erentemente no porta(les. Como res0ltado' los programadores de aplicaciones esta(an frec0entemente conf0ndidos 1 cons0m.an m0c,o tiempo en aseg0rarse de :0e s0s programas f0nciona(an en casi todas las variantes de A5B. Pgina 3 de 5 tema2_02 OCW UNED 17/09/2014 http//!"#$inn!%a$&ned$e'/!"#&ni%e('ia/)ng_te"ni"!_in*!(_'i'tema'/+O_))/"!ntenid!'$$$ ;or lo tanto' se ,ac.a necesario disponer de 0n con80nto de interfaces estEndares. *os estEndares res0ltantes f0eron casi tan n0merosas 1 diversas como las versiones de A5B. Iinalmente' la ma1or.a de los vendedores se p0sieron de ac0erdo en 0nos pocos estEndares: 9?5< +91stem ? 5nterface <efinition- de $T/T. 9?5< es esencialmente 0na especificacin detallada de la interfa6 de programacin del 91stem ?. ;#95B +;orta(le #perating 91stem (ased on A5B- del 5333 +5nstit0te of 3lectrical and 3lectronic 3ngineers-. 3n 19G& el 5333 nom(r 0n comitD para p0(licar 0n estEndar formal para los entornos de los sistemas operativos. 90 estEndar se denomin ;#95B 1 era 0na amalgama de partes del nFcleo de 9?>3 1 del A5B )9<4.3. 3ste estEndar ,a tenido (astante aceptacin en parte por:0e no se alinea con 0na Fnica variante de A5B. *a g0.a de porta(ilidad del consorcio internacional de fa(ricantes de comp0tadores B/#pen. 9e form en 19G4' no para prod0cir n0evos estEndares' sino para desarrollar 0n entorno a(ierto de aplicaciones com0nes (asado de ,ec,o en los estEndares e!istentes. 90 B;2 es 0n (orrador del estEndar ;#95B' pero va mEs allE al a(ordar m0c,as Ereas adicionales como la internacionali6acin' interfaces de ventanas 1 administracin de datos. Cada estEndar se oc0pa(a del interfa6 entre los programadores 1 el sistema operativo 1 no de como el sistema implementa(a dic,a interfa6. <efin.a 0n con80nto de f0nciones 1 s0 semEntica detallada. *os sistemas :0e sig0en estos estEndares de(en c0mplir estas especificaciones' pero p0eden implementar las f0nciones o (ien en el nFcleo o (ien en las li(rer.as a nivel de 0s0ario. *os estEndares tratan con 0n s0(con80nto de las f0nciones s0ministradas por la ma1or.a de los sistemas A5B. Tericamente' si los programadores se restringen a 0sar este s0(con80nto' la aplicacin res0ltante de(er.a ser porta(le a c0al:0ier sistema :0e siga el estEndar. *as organi6aciones #9I 1 5 3n 19G7 $T/T' t0vo :0e ,acer frente a 0na protesta pF(lica contra s0 pol.tica de licencias' al an0nciar la compra del 20L de 90n 4icros1stems. $T/T 1 90n acordaron cola(orar en el desarrollo de la versin 4 del 91stem ?. $s. $T/T an0nci :0e 90n reci(ir.a 0n trato preferente' 1 90n an0nci :0e a diferencia del 90n#9' el c0al esta(a (asado en )9<4' s0s pr!imo sistema operativo estar.a (asado en 9?>4. 3ste an0nci prod08o 0na rEpida reaccin en los otros vendedores de A5B' :0ienes tem.an :0e esto diera a 90n 0na in80sta venta8a. 3n resp0esta' 0n gr0po de grandes compa%.as' como <3C' 5)4 1 ";' an0nciaron en 19GG la creacin de #9I+#pen 9oftJare I0ndation- :0e esta(a financiada por s0s compa%.as f0ndadoras' 1 se comprometieron a desarrollar 0n sistema operativo li(re de las licencias de $T/T. 3n resp0esta' $T/T 1 90n' 80nto con otros vendedores de sistemas (asados en el 91stem ?' formaron rEpidamente 0na organi6acin llamada 5 +A5B 5nternational-. 5 esta(a dedicada a la comerciali6acin del 9?>4 1 a definir las f0t0ras me8oras del A5B 91stem ?. 3n 19G9 #9I sac 0n interfa6 de 0s0ario grEfico llamado 4otif' :0e f0e m01 (ien reci(ido. ;oco desp0Ds' sac las primeras versiones de s0 sistema operativo #9I/1' :0e pose.a m0c,as venta8as de las :0e carec.a 9?>4' tales como 0n soporte completo para m0ltiprogramacin' carga dinEmica' 1 administracin de volFmenes lgicos. 3l plan de los miem(ros f0ndadores era desarrollar 0n sistema operativo comercial (asado en #9I/1. Pgina 4 de 5 tema2_02 OCW UNED 17/09/2014 http//!"#$inn!%a$&ned$e'/!"#&ni%e('ia/)ng_te"ni"!_in*!(_'i'tema'/+O_))/"!ntenid!'$$$ 3n 1990 5 sac el A5B 91stem ? >oad 4ap' el c0al perfila(a las f0t0ras me8oras del desarrollo de A5B. #9I 1 5 comen6aron como grandes rivales' pero pronto se 0nieron para ,acer frente a 0na amena6a comFn. $ principios de los 90 la relanti6acin de la econom.a 1 la aparicin de del sistema operativo MindoJs de 4icrosoft' amena6a(an el crecimiento e incl0so la s0pervivencia de A5B. 5 se f0e del negocio en 1993 1 #9I a(andon m0c,os de s0s am(iciosos planes. <3C #9I/1 f0e el principal sistema (asado en #9I/1. Con el tiempo' <3C elimin m0c,as de las dependencias del #9I/1 de s0 sistema operativo' 1 en 199@' cam(i s0 nom(re por el de <igital A5B. *a distri(0cin 9?>4 1 mEs allE $T/T 1 90n desarrollaron con80ntamente 9?>4' :0e sali al mercado en 19G9. 9?>4 integra(a caracter.sticas del 9?>3' )9<4' 90n#9 1 B3A5B. Tam(iDn incl0.a n0evas f0ncionalidades como las clases de planificacin en tiempo real' el interprete de comandos 7orn' me8oras del s0(sistema de streams' etc. $l a%o sig0iente' $T/T form 0na compa%.a de softJare llamada 9* +A5B 91stems *a(oratories- para desarrollar 1 vender A5B. 3n 1991 Aovell' 5nc' creador del sistema operativo AetJare' para comp0tadoras personales en red' compr parte de 9* 1 cre 0na empresa filial llamada nivel. nivel se dedic a desarrollar 0na versin para comp0tadoras personales del 9?>4 integrado con AetJare. 3ste sistema operativo conocido como A5BMare' sali al mercado a finales de 1992. 3n 1993 $T/T vendi el resto de s0s acciones a Aovell. $l ca(o de 0n a%o' Aovell sac la marca registrada A5B. 3n 1994' 90n 4icros1stems compr los derec,os del cdigo del 9?>4 a Aovell. $l sistema 90n (asado en 9?>4 se le denomin 9olaris' siendo s0 versin 10 la mEs reciente. Pgina 5 de 5 tema2_02 OCW UNED 17/09/2014 http//!"#$inn!%a$&ned$e'/!"#&ni%e('ia/)ng_te"ni"!_in*!(_'i'tema'/+O_))/"!ntenid!'$$$