El sistema operativo UNIX desarrollado en los laboratorios Bell; es uno de
estos xitos notables (RI!"# $os sistemas UNIX se dise%aron &on el ob'eto de ser sistemas apropiados para apo(ar el desarrollo de pro)ramas# Tiene un len)ua'e de mandatos simple pero poderoso ( unos sistemas de ar&*ivos independiente de los dispositivos# + travs del sistema Bell se en&uentran en uso &ientos de sistemas UNIX, ( es popular en ambientes universitarios e industriales# Tambin existen versiones para &omputadoras personales# -I.TORI+ Entre /012 ( /010, los laboratorios Bell, parti&iparon 'unto &on 3eneral Ele&tri& ( el pro(e&to 4+C del Instituto Te&nol5)i&o 4assa&*usetts, en el desarrollo del sistema 4U$TIC.# Ori)inalmente dise%ado para operar en el poderoso &omputador &entral 3e6172, 4U$TIC. es un sistema )rande ( &omple'o# Es una instala&i5n de &omputa&i5n de prop5sito )eneral &onstituida para dar servi&io a las distintas ne&esidades de )randes usuarios# En /010, los laboratorios Bell, se retiraron del pro(e&to 4U$TIC.# +l)unos miembros del e8uipo de investi)a&i5n &omen9aron a traba'ar en un sistema mu&*o menos ambi&ioso llamado UNIX# El )rupo diri)ido por el miembro del e8uipo de los laboratorios Bell :en T*ompson, bus&o &rear un ambiente de &omputa&i5n 8ue ;a&ilitara la investi)a&i5n ( desarrollo de pro)ramas# $a primera versi5n del sistema UNIX se reali9o para la <dp6 de DEC ( se es&ribi5 en len)ua'e ensamblador# En es;uer9o del sistema UNIX atra'o a Dennis Rit&*ie, 8ue tuvo un papel important=simo en la rees&ritura de los pro)ramas UNIX en el len)ua'e de alto nivel C en /0> esto a(udo a ser mas port?til ( &omprensible el so;t@are UNIX# El &5di)o de ma8uina del sistema resulto &asi un ter&io ma(or 8ue la versi5n de len)ua'e ensamblador, pero aparte del aumento se debi5 a la ad*esi5n del apo(o de la multipro)rama&i5n ( a la posibilidad de &ompartir pro&edimientos reentrantes# En /0A, Bestern Ele&tri& a&&edi5 a otor)ar li&en&ias del sistema a or)ani9a&iones sin ?nimo de lu&ro e *i9o ase8uible los sistemas UNIX a do&enas de institu&iones edu&a&ionales# En /0/ los sistemas UNIX se *ab=an *e&*o mu( populares en las universidades ( se desarrollo una or)ani9a&i5n de usuarios 8ue evolu&iono *a&ia el )rupo a*ora &ono&ido &omo U.ENIX# El primer sistema UNIX en salida de mer&ado para &onsumo pCbli&o ;ue la versi5n 2# <are&=a m?s el resultado de un pro(e&to de investi)a&i5n 8ue el es;uer9o de desarrollo de un produ&to# $a versi5n 1 apare&i5 en /02, ( su uso est? todav=a mu( extendido# El sistema de la edi&i5n puesto a la venta en /00reDe'a una )ran &antidad de reEnamiento destinado a ser de Unix un produ&to &omer&ial m?s valido# FER.IONE. DE $O. .I.TE4+. UNIX +un8ue dise%ado para la ;amilia de &omputadores <D<6//, el sistema UNIX *a sido implementado &on xito en mu&*os otros sistemas# $a versi5n univa& //GG ;ue el primer INIX para &omputadores &entrales de )ran es&ala# $os sistemas Unix tambin se en&uentran disponibles en los &omputadores F+X de DEC# .I.TE4+. UNIX E.T+ND+R $os sistemas Unix est?ndar son sistemas operativos multipro)ramables de tiempo &ompartido, dise%ados prin&ipalmente para los &omputadores <D<6 //HA7, 7G,72 ( G de DEC# $os sistemas UNIX est?ndar propor&ionan un sistema de ar&*ivos 'er?r8ui&o &on prote&&i5n total, volCmenes desmontables, independen&ia de dispositivos ( &ara&ter=sti&as 8ue ;a&ilitan la sen&ille9 de pro)rama&i5n# $os sistema UNIX no distin)uen entre pro)ramas de usuarios ( pro)rama de sistema, ni en &apa&idad ni en uso ex&epto por las restri&&iones impuestas por la prote&&i5n del ar&*ivo# $os sistemas UNIX permiten a los usuarios el en&aminar la salida de un pro)rama dire&tamente a la entrada de otro# $os sistemas UNIX est?ndar se distribu(e &on una serie de pro)ramas empa8uetados 8ue in&lu(en un editor de texto, un interpretador de len)ua'e, de mandatos pro)ramable, varios &ompiladores para len)ua'es populares, un ensamblador, un editor, depuradores, ;ormateadores de do&umentos, bibliote&as normales los sistemas ( rutinas del usuario, ( un pa8uete de 'ue)os .I.TE4+ <BB6UNIXI E$ B+NCO DE TR+B+JO DE$ <RO3R+4+DOR El ban&o de traba'o del pro)ramador es una versi5n expandido del sistema UNIX est?ndar, en una instala&i5n de &omputa&i5n espe&ial dise%ada para apo(ar el desarrollo de pro)ramas# Un sistema <XBHUNIX propor&iona una serie de *erramientas de pro)rama&i5n para apo(ar los pro(e&tos de pro)rama&i5n# Un dispositivo de entrada remota de traba'os permite a un sistema UNIX enviar el traba'o a varios &omputadores &entrales )randes ( re&ibir las salidas de los traba'os# Uno de los dispositivos m?s importantes de un sistema <BBHUNIX es el sistema de &ontrol de &5di)o ;uente, dise%ado para mantener todo el &5di)o ;uente ( los ar&*ivos de texto en un pro(e&to de desarrollo de so;t@are# .I.TE4+ 4INI6UNIX El sistema operativo 4INI6UNIIX es en esen&ia una versi5n en es&ala menor de un sistema UNIX est?ndar# Esta dise%ado para propor&ionar la ma(or=a de las &apa&idades de un sistema UNIX est?ndar a los usuarios de &omputadores mas pe8ue%os &omo los sistemas <D<# El sistema 4INI6UNIX puede &ontener *asta 7 usuarios ( /A pro&esos &on&urrentes# UNIXHFI El sistema de la edi&i5n# El sistema de la edi&i5n, para utili9ar en modelos <D<6//H72 o //HG, &ontiene una serie de me'ores si)niE&ativas sobre las versiones anteriores# $os ar&*ivos pueden ser de *asta mil millones de b(tes# $a versi5n del sistema UNIX reDe'a los es;uer9os de Bell para a&omodarse a las diversas ne&esidades de una base en &ontinuo &re&imiento de usuarios del sistema UNIX# OBJETIFO. DE DI.EKO .on dos los aspe&tos del ori)en de los sistemas UNIXI El primer ob'etivo de dise%o ;ue &onservar la sen&ille9 del sistema operativo ( 8ue apo(ara tan solo una &antidad m=nima de ;un&iones# + los pro)ramas de usuario se les de'a la tarea de proveer la verdadera soEsti&a&i5n# El se)undo ob'etivo ;ue la )eneralidad# Un solo mtodo deber=a servir a diversos prop5sitos# $a )eneralidad se maniEesta en los sistemas UNIX en varias ?reasI El sistema usa las mismas ?reas para leer ar&*ivos, dispositivos# .e apli&an los mismos me&anismos de nomen&latura, se usa el mismo me&anismo para atrapar interrup&iones del so;t@are# AGREGALE UN TERCERO: EXTENSIBILIDAD CONTRO$ DE <ROCE.O. En el &entro del sistema UNIX esta el nC&leo# Consiste en unas die9 mil l=neas de &5di)o & ( otras mil l=neas de &5di)o ensamblador# Del &5di)o ensamblador, la ma(or parte reali9a ;un&iones de *ard@are no &onvenientes o pra&ti&as en C# el resto es &5di)o de e'e&u&i5n ;re&uente ( se es&ribi5 en len)ua'e ensamblador# El nC&leo no representa m?s 8ue una pe8ue%a por&i5n del sistema operativo (entre el 2 ( /G por /GGL del &5di)o"# Un pro&eso es la e'e&u&i5n de una ima)en# Una ima)en &ontieneI Una ima)en de alma&enamiento# Falores )enerales del re)istro# El estado de los ar&*ivos abiertos# El dire&torio a&tual# CRE+CION DE <ROCE.O. $os nuevos pro&esos son &reados por una primitiva del sistema llamada Bi;ur&a&i5n# Esta llamada en el sistema *a&e 8ue el pro&eso a&tual se divide en dos pro&esos &on&urrentes e independientes llamados pro&eso padre ( pro&eso *i'o# Estos pro&esos no &omparten el alma&enamiento primario pero &omparten todos los ar&*ivos abiertos# EXEC $a primitiva exe& *abilita al pro&eso para e'e&utar un ar&*ivo# Esto *a&e 8ue los se)mentos de texto ( datos a&tuales del pro&eso sean &ambiados por nuevos se)mentos de texto ( de datos espe&iE&ados en el ar&*ivo# $os se)mentos anteriores se pierden, los ar&*ivos abiertos antes del exe& permane&en abiertos# .INCRONIM+CINN DE <ROCE.O. $a sin&roni9a&i5n de pro&esos se lo)ra por un me&anismo evento# $os pro&esos esperan a 8ue o&urran los eventos# $as tablas de pro&esos est?n aso&iadas a los eventos# $os eventos son representados &omo las dire&&iones de las tablas &orrespondientes# Un pro&eso padre en espera de 8ue termine una de sus pro&esos *i'os, espera por un evento 8ue es la dire&&i5n de su propia entrada de la tabla de pro&esos# <$+NIOIC+CION DE <ROCE.O. $os pro&esos pueden e'e&utarse en uno de dos estados, el estado usuario o estado sistema# En el estado usuario, un pro&eso e'e&uta los pro)ramas del usuario ( a&&ede al se)mento de datos del usuario# En el estado sistema un pro&eso e'e&uta el &5di)o del nC&leo ( a&&ede al se)mento de datos del sistema# .I.TE4+ DE ENTR+D+6.+$ID+ El sistema de entrada6salida &onsiste en dos &omponentes distintosI Entrada6salida por blo8ues, o el sistema de entrada6salida estru&turado# Entrada6salida del &ar?&ter, o el sistema de entrada6salida no estru&turado# $a entrada6salida en un sistema UNIX se mane'a prin&ipalmente en &in&o llamadas del sistemaI open, &lose, read, @rite, seeP# ENTR+D+H.+$ID+ DE O$UJO CONTR+ ENTR+D+H.+$ID+ DE RE3I.TRO Toda la entradaHsalida de los sistemas UNIX es orientada *a&ia el Du'o en ve9 de orientada *a&ia los re)istro, &omo en la ma(or=a de los re)istro, un Du'o es una se&uen&ia de b(tes, terminados por un delimitador# El usuario interesado en la entradaHsalida del re)istro puede implementarla &on bastante ;a&ilidad# <ara implementar el pro&esamiento de re)istros de lon)itud E'a, el usuario no ne&esita m?s 8ue espe&iE&ar la lon)itud &onstante en todas las le&turas ( es&rituras# .I.TE4+. DE +RC-IFO. Un sistema de ar&*ivos UNIX es un &on'unto de &ara&teres aleatoriamente dire&&ionales# .u tama%o es exa&tamente el nCmero de &ara&teres 8ue &ontiene *asta un m?ximo de aproximadamente mil millones# Un ar&*ivo &ontiene &uales8uiera datos 8ue el usuario desee &olo&ar en el ( no tiene otra estru&tura impuesta por el usuario# El sistema de ar&*ivo reside prin&ipalmente en dis&os &ompuestos por blo8ues de 2/> b(tes &ada uno# Un ar&*ivo divide al dis&o en 7 re)iones# Un blo8ue no utili9ado# Un sCper blo8ue 8ue &ontiene el tama%o del dis&o ( los l=mites de las dem?s re)iones# $a lista6i &on una lista de ar&*ivos llamadas i6nodo# Qreas de alma&enamiento para el &ontenido del ar&*ivo# Un i6nodo &ontieneI $a identiE&a&i5n del usuario del propietario $a identiE&a&i5n del )rupo del propietario Bits de prote&&i5n Dire&&iones del dis&o o &inta ;=si&os para el &ontenido del ar&*ivo Tama%o del ar&*ivo Tiempo de la ultima utili9a&i5n .-E$$ El .*ell es el me&anismo de sistema UNIX para la &omuni&a&i5n entre los usuarios ( el sistema# Es un intrprete de mandatos 8ue lee las l=neas te&lados por el usuario ( &ausa la e'e&u&i5n de las &ara&ter=sti&as del sistema soli&itadas# El .*ell no tiene residen&ia permanente en la memoria prin&ipal &omo en nC&leo, puede inter&ambiarse &uando sea ne&esario# Es un pro)rama de apli&a&i5n ( a menudo se es&ribe .*ell personali9ado# El .*ell divide la l=nea de mandatos en sus &omponentes, el .*ell le da a &ada pro)rama 8ue e'e&uta A ar&*ivos abiertosI uno para entrada, uno para salida ( uno para salida de error# El len)ua'e de mandato .*ell in&lu(e &apa&idades de Du'os de &ontrol# $os pro)ramas de len)ua'e de mandatos pueden es&ribirse usando las estru&turas i;, t*en# Else, &ase# @*ile ( ;or# CONDUCTO. R OI$TRO. Una de las &ontribu&iones m?s importantes del sistema UNIX es el sistema de &ondu&tos# Un &ondu&to es un ar&*ivo abierto 8ue &one&ta dos pro&esos# El usuario espe&iE&a una l=nea de &ondu&tos al .*ell mediante una serie de nombres de ar&*ivos separados por barras verti&ales# $a salida del ar&*ivo &itado a la i98uierda de una barra es la entrada del ar&*ivo &itado a la dere&*a de la barra# El .*ell usa &ondu&tos lineales# Un Eltro es un sistema UNIX es un pro)rama 8ue pro&esa un solo Du'o de entrada para produ&ir un solo Du'o de salida# $os sistemas UNIX propor&ionan )ran nCmero de Eltros# 4U$TIT+RE+ El usuario puede espe&iE&ar multitarea al &olo&ar un si)no S despus del mandato en este &aso el .*ell no espera a 8ue termine la e'e&u&i5n del mandato pide inmediatamente un nuevo mandato mientras el anterior &ontinua su e'e&u&i5n de ;orma subordinada# RENDI4IENTO CONTR+ UTI$IM+BI$ID+D En este punto, ele&tor ;amiliari9ado &on los problemas en&ontrados en instala&iones de pro&esamiento de datos &omer&iales a )ran es&ala debe tener el &onven&imiento de 8ue los sistemas Unix tienen po&o uso en tales ambientes sus dise%adores nun&a lo ima)inaron para tales Enes# XENIXI UN+ NOR4+ CO4ERCI+$ DE .I.TE4+ UNIX 4i&roso;t un proveedor de so;t@are para la industria de los mi&ro&omputadores, desarrollo XENIX un sistema operativo basado en los sistemas Xenix est? dise%ado para operar en mi&ro&omputadores de /16bits# Xenix propor&iona las poderosas &apa&idades multiusuario ( de tiempo &ompartido del sistema UNIX# -I.TORI+ DE XENIX Con el uso masivo al&an9ado por el uso de sistemas Unix durante la d&ada de /0G la in;orma&i5n propor&ionada por los usuarios motiv5 una serie de me'oras# Debido al estatuto de monopolio prote)ido por atSt, el )obierno no pod=a permitirle entrar en la industria de los &omputadores# -ab=a &uestiones le)ales 8ue imped=an a @estern Ele&tri& sa&ar al mer&ado el so;t@are del sistema Unix, por lo menos &omo produ&to &omer&ial &ompetitivo# Re&ono&iendo tanto el valor de los sistemas Unix &omo la in&apa&idad de @estern Ele&tri&, para respaldarlos ( explotarlos &omer&ialmente, 4i&roso;t anun&io en a)osto de /0!G 8ue propor&ionar=a a Xenix, una versi5n &omer&ial del sistema Unix# Comandos UNIX -a( m?s de AGG &omandos UNIX distintos# +un8ue los nombres de los &omandos si)uen una l5)i&a, mu&*as ve&es esta se *a perdido &on el tiempo# En &onse&uen&ia tenemos mu&*os &omandos 8ue no sabemos lo 8ue *a&en (, por lo tanto, no los utili9amos# No *a( 8ue saber &omo ;un&ionan todos los &omandos, pero s= es interesante &ono&erlos ( m?s o menos saber 8ue *a&en# <ara un uso m?s en pro;undidad &onsultaremos la p?)ina del manual# ls 4uestra el &ontenido de un dire&torio echo -a&e e&o en pantalla
E'emploI
T e&*o *ola mundoU cat 4uestra el &ontenido de un E&*ero more 4uestra el &ontenido de un E&*ero *a&iendo pausas entre pantallas si el E&*ero es lar)o man 4uestra la p?)ina del manual de un &omando E'emploI
T man ls clear Borra la pantalla cp Copia E&*eros ( dire&torios E'emploI
T &p E&*eroVori)inal E&*eroV&opia mv 4ueve E&*eros E'emploI
T mv E&*ero E&*ero> rm Borra E&*eros E'emploI
T rm E&*ero ln Enla9ar (re;eren&iar" E&*eros E'emplo de enla&e WduroW (*ardlinP"I T ln E&*ero enla&e E'emplo de enla&e WsuaveW (so;tlinP"I
T ln 6s E&*ero enla&e V simb5li&o cd Cambia de dire&torio de traba'o si no se indi&a dire&torio, nos traslada a T-O4E
E'emploI T &d dire&torio pd 4uestra el dire&torio de traba'o a&tual m!d"r Crea dire&torios E'emploI T mPdir dire&torio rmd"r Borra dire&torios (va&=os" E'emploI T rmdir dire&torio env 4uestra las variables de entorno del pro)rama head 4uestra las primeras l=neas de un E&*ero (/G por de;e&to" E'emploI
T -ead E&*ero ta"l 4uestra las n Cltimas l=neas de un E&*ero (/G por de;e&to" E'emploI
T tail E&*ero #rep Bus&a o&urren&ias de una &adena en un E&*ero E'emploI T )rep &adena E&*ero ps 4uestra los pro&esos en el sistema !"ll Env=a una se%al a un pro&eso indi&ando su <ID (<ro&ess IDentiEer, o nCmero Cni&o 8ue identiE&a a &ada pro&eso" E'emploI
T Pill /GG> e$port Exporta una variable al entorno del pro)rama E'emploI
T export F+RI+B$EXvalor read $ee una l=nea de la entrada est?ndar ( la alma&ena en una variable E'emploI
T read l=nea % Delante de una variable permite a&&eder a su &ontenido E'emploI
T e&*o T.-E$$ & .epara dos &omandos en una misma l=nea E'emploI
T read l=nea ; e&*o se *a le=doI Tl=nea 'le Indi&a de 8u tipo es un E&*ero cal 4uestra el &alendario del mes a&tual c Cuenta l=neas, palabras o b(tes en E&*eros
E'emploI
T e&*o *ola 8ue tal Y @& date 4uestra *ora ( ;e&*a a&tuales
E'emploI
T date
E'emplo de ;e&*a en ;ormato ((((6mm6ddI
T date WZLR6Lm6LdW passd &ambia la &ontrase%a de un usuario chmod Cambia los permisos de un E&*ero chon Cambia el propietario de un E&*ero ch#rp Cambia el )rupo propietario de un E&*ero reset Restaura la terminal de texto here"s Indi&a donde se puede en&ontrar un ;uente, binario o manual
E'emploI
T @*ereis ls
h"ch Indi&a donde est? un &omando
E'emploI
T @*i&* ls
locate Bus&a E&*eros
'nd BCs8ueda avan9ada de E&*eros ho [uin tiene sesi5n abierta en la m?8uina tac Con&atena E&*eros ( los muestra a la inversa to(ch +&tuali9a la ;e&*a ( *ora de un E&*ero, si no existe lo &rea
E'emploI
T tou&* E&*eroVinexistente less Una versi5n m?s elaborada de more 8ue permite despla9arnos por el texto, *a&er bCs8uedas, et&# d) 4uestra los espa&ios libres ( o&upados de los dis&os
d( Cal&ula el espa&io de dis&o usado ma"l <ro)rama simple para enviar ( leer &orreo tar Empa8uetar E&*eros
E'emplo empa8uetarI
T tar &v; E&*ero#tar dire&torio
E'emplo desempa8uetarI
T tar xv; E&*ero#tar #*"p Comprimir un E&*ero #(n*"p Des&omprimir un E&*ero &omprimido &on #*"p *cat 4uestra el &ontenido de un E&*ero &omprimido &on #*"p ldd 4uestra las librer=as 8ue usa un pro)rama halt +pa)a la m?8uina re+oot Reini&ia la m?8uina
sh(tdon +pa)a o reini&ia la m?8uina tr(e Cierto, o uno
)alse Oalso, o &ero e$"t Termina la sesi5n ( muestra el login del sistema
lo#o(t Termina la sesi5n ( muestra el login del sistema
se, 3enera una se&uen&ia de nCmeros
E'emploI
T se8 / /G
c(t Elimina partes de E&*eros
E'emploI
T e&*o *ola 8ue tal Y &ut 6d W W 6; >
a! Es&?ner de patrones ( len)ua'e de pro)rama&i5n para pro&esar textos
E'emploI
T e&*o *ola 8ue tal Y a@P \] print T/ WUW, T>, TA W^W _\ tr Elimina o tradu&e &ara&teres
E'emploI
T e&*o *ola 8ue tal Y tr a +
sed Reali9a trans;orma&iones en Du'os de b(tes
E'emploI
T e&*o *ola 8ue tal Y sed \sHaH+H)\
(.ubstitu(e las \a\ por \+\ en todo el Du'o" )mt Da ;ormato a &ada p?rra;o de un E&*ero
sort Ordena E&*eros de texto sleep Detiene el pro&eso durante n se)undos
E'emploI
T sleep 2 ; e&*o -an pasado 2 se)undos
(n", $ee de std"n ( &ompara l=neas ad(a&entes es&ribiendo las l=neas Cni&as a stdo(t
O+CU$T+D DE IN3ENIERI+ 4EC+NIC+ R E$ECTRIC+ .istemas Operativos II# <REOOE.ORI JesCs Uresti# TE4+I Estudio de &aso UNIX# Comandos UNIX# E$+BOR+DO <ORI RaCl Uribe Rio'as# 3RU<OI `# .ECCIONI a+b# C+RRER+I I#.#C# 4on&lova, Coa*uila OCTUBRE >GG!