Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SistemasOperativos
MarioDonaireMendoza
20112012
EstosapunteshansidocreadosenbasealmaterialelaboradoporSergiode
Mingo para el primer curso del ciclo de grado superior Administracin de
SistemasInformticosyRedes(ao20112012),licenciadosbajoCreative
CommonsAttributionShareAlike3.0Unported(CCBYSA3.0).
TemaUno
IntroduccinalosComputadores
DEFINICIONES
Computador:Cualquiercosaquetengaunprocesadorqueseacapaz
deejecutarunprograma.Formadoporcomponenteslgicos(softwa
re)ycomponentesfsicos(hardware).
SistemaOperativo:Primeryltimoprogramaqueleeelcomputador.
Eselprogramabasedelcomputador.
Firmware:Sistemaoperativodeloscomputadorespequeos.
Programa: Son un conjunto de instrucciones y datos que son ledas,
interpretadasyejecutadasporelcomputador.
UnidadCentral(UC).Eslaencargadadeinterpretarlasins
trucciones y convertirlas en seales elctricas para
ejecutarlas.
UnidadAritmticoLgica(ALU).Seencargadelosclcu
losaritmticosylgicos(y,o,s,no;unin,intersecciny
complemento).
Registros.Sonlosquevanaalmacenarlosdatoseinstruc
cionesutilizadosporlaCPU.
MEMORIA
Segnnecesiteleeroescribir,habruninterruptorquecambia
r ambos modos. Dicha lnea elctrica tambin estar incluida en la
memoria.
ModosdeDireccionamiento.
Losdatospodrnserincluidosdediferentesmanerasenlasins
trucciones.Segnsereferenciendeunauotraforma,tendremosuno
uotromododedireccionamiento.
ANTECEDENTES
MODELOVONNEUMANN
Estemodeloesconceptualyaunquefuedesarrolladoamedia
dosdelsiglopasado,adadehoytodosloscomputadoreslosiguen.
Componentes:
UnidadCentraldeProceso(CPU).
Memoria Principal. Encargada de almacenar el programa
delprogramador.
Unidad de Entrada/Salida. Sirve debarrera lgica entre el
procesadorylosperifricos.
Buses.Sonloscables,losmediosdecomunicacinentrelos
elementosdelcomputador.
Perifricos.Cualquierdispositivoaadidoalamquinapara
permitirlainteraccindelcomputadorconelmedio.
UNIDADCENTRALDEPROCESO(CPU)
ImplantacindeSistemasOperativos
BUSES
Sonlneaselctricasdecomunicacin.Susparmetrosdemedi
cinson:
Anchodebus:totaldelneasenparalelodeunbus.Porca
da lnea circular una seal elctrica. Cada lnea en
paralelotransmiteunbit.Cadalneadebusemiteunim
pulsoquesetraduceen0y1(binario).
Frecuenciadel bus: esel nmerode pulsos por unidadde
tiempo(Hz).
PERIFRICOS
TodoloquenoeslaCPUylamemoria.PermitenalaCPUco
municarse con el exterior. Los hay de entrada, de salida y de
entrada/salida.Suscaractersticasson:
Fiabilidad.Eslaprobabilidaddequeelperifricoestope
rativo.
Mododeacceso(secuencial,directo).Eslaformaenlaque
hemosdeaccederaldispositivo.
Velocidad de transferencia. La velocidad con la que el dis
positivo puede suministrarnos datos o procesar los datos
enviadosal.
Buffering.Losperifricosalmacenandatos.Unbufferesun
almacnintermediodedatosutilizadoparasincronizarco
sasquetrabajanadiferentesvelocidades.
INMEDIATO:Eldatoseincluyeenlainstruccin,comocon
secuencia se leer ms rpidamente, pero el ancho de
memoriaestardivididoentrelainstruccinyeldato.
DIRECTO:Lainstruccinnoincluyeeldato,sinoquelorefe
renciaaotradireccindememoria.Astodoelanchode
memoria estar dedicado para ese dato, aunque al tener
queiraladireccindeldato,suprocesadosermslento.
INDIRECTO: La instruccin nos manda a una direccin de
memoria donde a su vez existe un nuevo redirecciona
miento hacia el dato. Esto tiene como ventaja poder
cambiarlosdatossintenerquetocarelcdigo.
CiclodeInstruccin(CPUMemoria)
EselmecanismoquesiguelaCPUalleeryejecutarunainstruc
cindelamemoria.Estecicloeslamaneraquetienendeinteractuar
estosdoscomponentes.
1. LaCPUleeelregistrocontador(esunregistrodelaCPU).La
direccinqueallencuentralaescribeenelregistrodedi
reccionesdelamemoria(esunregistrodelamemoria).
2. La memoria escribe el contenido de dicha direccin en su
registrodedatos.
3. Lamemorialedaelcontenidodelregistrodedatosatravs
delbusdesistema.
4. Lainstruccinseescribeenelregistrodeinstruccin(esun
registrodelaCPU)durantesuprocesamiento.
5. EnestepuntolaCPUpidealamemorialosdatosdireccio
nadosdirectaeindirectamente,siloshubiera.Enesecaso
serepitenlospasosanteriores.
6. LaUCdecodificalainstruccin,ylaALUlaejecuta.
7. LaALUincrementaelregistrocontador(enn+1)yvuelve
acomenzarelciclo.
Hayquetenerencuentaqueeltamaodememoriatieneque
serigualomenorqueeltamaodelregistro.Esdecir,sienmemoria
caben2bytes,elregistrodedatostendrqueserde2bytes.
Cuandoelregistrodeinstruccinllegaalainstruccindesal
to, sta modifica el registro contador y se va a esa instruccin de
trabajo.
UNIDADDEENTRADA/SALIDA
ELCOMPUTADORMODERNO
EstbasadoenelmodelodevonNeumann.Enellos,loscom
ponentes electrnicos estn grabados en placas o circuitos. Existen
numerosasarquitecturasquellevanesemodeloalaprctica.
ELORDENADORPERSONAL
ImplantacindeSistemasOperativos
Nbits=log24=2bits;esdecir,elnmeroalquetendrque
elevar2paraobtener4.Delamismaforma,paracodificar8va
lores,tendrqueelevar2ala3,porloquenecesitar3bits.
Parapasardebinarioadecimaldividoelnmeroendossucesi
vas veces, si la divisin no es exacta ponemos un 1, si s lo es,
ponemosun0,as33:
33/2=16(resto1)
16/2=8(resto0)
8/2=4(resto0)
4/2=2(resto0)
2/2=1(resto0)
1/2=0(resto1)
Sera100001
CdigoHexadecimal
Sesueleutilizarparasimplificarlanotacin.Cadadgitoequiva
le a 4 bits, por lo que 4bits se podrn simplificar con un dgito
hexadecimal.
Losdgitoshexadecimalesvandel0al9yluegodelaAalaF.Se
calculanigualquelosbinariosperoalserunsistemaenbase16,ser:
X*16i
AdemshayquetenerencuentaquelaA=10,laB=11laF=15.
CdigosAlfanumricos
CdigoASCII7.
Utiliza 7 bits para codificar cada dgito y slo codifica 128 (27)
caracteres.
CdigoISO88591.
Ampla al cdigo ASCII. Aade un bit ms, por loque sern 28
caracteres(256).ConocidocomoLatn1.
CdigoUnicode.
Recogetodoslosalfabetosdelmundo.Tienediferentesimple
mentaciones,delasquelaUTF8utilizahasta4bytesporcarcter;
utilizando232caracteres.
REPRESENTACINDELAINFORMACIN
LAINFORMACIN
Eslamateriaprimadelainformtica.ElPCtransformalainfor
macin, traduciendo el cifrado binario (dos valores de voltaje) en el
queseencuentranlosdatosylasinstrucciones.
LOSCDIGOS
Cdigosnumricos:Codificanvaloresnumricos(binario).
Cdigos alfanumricos: Codifican valores numricos y no
numricos(ASCII7).
Otros cdigos no binarios: Para simplificar notacin (hexa
decimal).
CdigosNumricos
CdigoBinario.
Representadostiposdevoltaje,yserepresentacondossmbo
los(0y1).Estosdossmbolossonlaunidadmnimadeinformacin,
denominadoBIT.8bitsformanunbyte.
1Kbyte=210bytes=1024bytes
1Mb=1024Kb
1Gb=1024Mb
1Tb=1024Gb
Elcdigobinarioesponderado,esdecir,laposicinqueocupen
losnmerostendrunsignificado.Dichosignificadovendrdetermi
nadopor:
X*2i
DondeXeselvalordelbit(10)eilaposicinqueocupa
(dederechaaizquierda).
1001=9(1*23+0*22+0*21+1*20)
ELSOFTWARE
LENGUAJESDEPROGRAMACIN
Poseenunasintaxismuyestrictadestinadaasertraducidalite
ralmente al lenguaje mquina. Esta traduccin se denomina
COMPILACIN.
ImplantacindeSistemasOperativos
COMPILACIN
COMPILADORESEINTRPRETES
Unintrpreteesunprogramaquetrasejecutarseleeelcdigo
fuente.Nolotraduceallenguajemquina,sinoqueloleeylointer
preta y hace lo que determine la instruccin fuente. Este cdigo
intermediocompilaelcdigofuente,demaneraqueconsigueporta
bilidadporquecualquierlenguajepodrserinterpretadoporelcdigo
intermedio.
SedenominaSCRIPTalcdigofuenteenlenguajeinterpretado.
DISTRIBUCINDELSOFTWARE
Debedistribuirseconelcdigoobjeto(esdecir,elcdigocom
pilado), y no tiene por qu distribuirse con el cdigo fuente. Hay
muchascuestionessobresielcdigofuentedeberaonoestarsiem
preabierto.
Cuandoadquieresunsoftware,loadquieresconunalicencia,es
decir, con la cesin de ciertos permisos. Dicha licencia te dice qu
derechostehacedidoelprogramador.Esuncontratodecesin.Hay
diferentestiposdelicencias:
PREGUNTAS.
1.
2.
Definequesunprograma.
Quhaceespecialalcomputadorconrespectoalrestode
mquinas?
3. Describe y enumera los componentes del modelo de Von
Neumann.
4. Describe la estructura y funcionamiento de la memoria en
elmodelodeVonNeumann.
5. Describebrevementelosmodosdedireccionamientovistos.
Definequsonyponunejemplodecadaunodeellos.
6. Describe el ciclo de instruccin en el modelo de Von Neu
mann.
7. Queselregistrocontador?Culessuimportanciaenel
procesadodelainstruccin?Qurelacintieneconlains
truccindesalto?
8. Pasardebinarioadecimal:10,101,1101,1011.
9. PasardeHexadecimaladecimal:22,71.
10. Si un programa ha sido compilado sobre una arquitectura
x86,podraejecutaruntelfonomvil?
11. Queselprocesodecompilacin?Defineelprocesodein
terpretacinyladiferenciaentreambos.
TemaDos
ElSistemaOperativo
INTRODUCCIN
Elsistemaoperativo,talycomoseindiceneltemauno,esel
primer programa y el ltimo en ejecutarse. Una vez ha arrancado el
sistema,elsistemaoperativosloseejecutarcuandoalgncompo
nente fsico o lgico lo requiera. En este captulo se vern las
relacionesquetieneconelhardwareyelsoftware.
INTERFAZ
CLASIFICACINDELOSSISTEMASOPERATIVOS
Sepuedenclasificarenfuncinde:
Nmerodeusuarios:SernMONOUSUARIOSaquellosque
no distinguen entre diferentes perfiles de usuarios (MS
DOS,Android).SernMULTIUSUARIOSaquellosquesha
cenestadistincin(Windows,UNIX).
Nmero de procesos: Sern MONOPROCESO los que slo
puedanejecutar unproceso a lavez (MSDOS). Se llama
rn MULTIPROCESO los que sean capaces de realizar
multigestin.
COMPONENTESDELSISTEMAOPERATIVO
ImplantacindeSistemasOperativos
GestordeProcesos.
GestordeMemoria.Gestionarlamemoriavoltil.
Sistema de Ficheros. Gestionar y clasificar toda la infor
macinalmacenadaenlamemorianovoltil.
Gestor de Entrada/Salida. Gestionar los drivers del siste
ma;losperifricos.
GESTORDEPROCESOS
Elgestordeprocesosseencargardelosprogramasquesees
tn ejecutando. Antes de ser ejecutado, cuando se requiere la
actuacin de unprograma, elsistema operativo creauna imagen de
dicho programa en memoria. En ese momento, cuando el cdigo
objetodeunprogramaescopiadoenmemoriayestpreparadopara
ser ejecutado, pasa a denominarse PROCESO. Adems, el sistema
operativo crea una estructura para almacenar informacin sobre l;
dichaestructurarecibeelnombredebloquedecontrol.
BloquedeControl:Esunafichaquealmacenatodalainforma
cin de cada proceso, creada cuando el proceso aparece en
memoria yse almacena enelespacio dekernel.Esta informa
cin, llamada tambinmetadatosdelproceso, incluye: PIDdel
proceso(nmeroenteroasignadoalprocesoyqueelkerneluti
liza para identificarlo de manera unvoca), estado, localizacin
enlamemoria,recursosusados,propietarioolanzador,priori
dad.
Cadaunodelosprogramasejecutados(procesos)tienesuima
genysubloquedecontrol,estandodestinadoslosbloquesalespacio
dekernelylasimgenesalrestodelamemoria.
EstadosdelosProcesos.
Elestadodescribecmoseestnejecutandolosprocesosenun
momento dado. Cada sistema utiliza sus propios estados para sus
procesos,ynosotrosutilizaremostresdeellosparanuestromodelo:
Parado:Enesteestadoelprocesonoseestejecutando.El
proceso est interrumpido, quedando ignorado. Su inte
rrupcin no depende de ninguna condicin por lo que
podrvolveraserejecutado.
Bloqueado:Comoantes,enesteestadoelprocesotampo
co se est ejecutando. El proceso est bloqueado hasta
quesecumplalacondicindelbloqueo,porloquenopo
dr volver a ejecutarse hasta que se cumpla dicha
condicin(queademsesajenaalsistema).Porejemplo,
elprogramadorintroducecuandopulseunateclapasala
diapositiva,hastaquenosepulseesatecla(lacondicin
delbloqueo)nosecumplirdichacondicin.
SiunprocesoAestutilizandounrecursoR,yunsegundo
procesoBrequieredeesemismorecurso,elsistemablo
quearaBhastaqueAliberedichorecurso.
Transiciones.
Interrupciones.
Lasinterrupcionessoftware,ollamadasalsistema,sirvenpara
quelosprocesosinvoquenalsistemaoperativo.Conellas,losproce
sospuedeninteractuarconelsistema,pidindoleservicios(ficheros,
memoria,etc.).
Elprocesoescomosigue:seactivalalneadeinterrupcinyla
CPU salta a la lnea donde estn las rutinas de interrupcin, la CPU
tienequesaberdndeestnparaquesepadondesaltar(losabrpor
la memoria ROM o por lo que sea); en ese momento se ejecuta el
sistemaoperativo.
Se entiende por LLAMADA AL SISTEMA una interrupcin soft
ware; el proceso invoca alsistema operativousandouna instruccin
desalto.
PlanificacindelosProcesos.
Laplanificacinesnecesariaparagestionareltiempoqueem
plealaCPUentrelosdiferentesprocesosactivos.Deelloseencargar
elplanificadoroSCHEDULER,utilizandolassiguientesestructuras:
Tabladeprocesos.Eselreadondeseguardanlosbloques
decontrol.enelreadekernel.
Coladeprocesos.Guardaelordendelosprocesosquevan
a disfrutar de la CPU. Guarda el PID (process ID) de los
ImplantacindeSistemasOperativos
Losquantumlosasignaelsistemaoperativo,perosiseejecuta
elByterminasuquantumquinasignaelsiguientequantuma
C?Esolohaceelrelojdelsistemaqueestdentrodelprocesa
dor.Cuandoempiezaunquantumelsistemaoperativoresetea
el reloj, y cuando el reloj llegaa cero manda unainterrupcin
dereloj.Entonceselsistemaoperativoasignaelsiguientequan
tum, elige el proceso, resetea el reloj y se marcha. Esto se
denomina CAMBIO DE CONTEXTO, es decir, cuando el sistema
operativo deja de ejecutar un proceso y se pone a ejecutar el
siguiente.
Lainterrupcinderelojvaporunalneadeinterrupcindistinta
(esunhardwaredistinto);cadahardwaretieneunalneadein
terrupcindistinta.
Cambiodecontexto.
Loscambiosdecontextosiemprellevanuntiempo,nosongra
tuitos. En ese tiempo es el sistema operativo el que se est
ejecutando,estiempoperdido.LaplanificacinRoundRobineslams
completaysigueestospasos:
1. Seactivalainterrupcindelreloj(relojeselhardwareque
marcaeltiempodelquantum).
2. LaCPUpasadeignoraralprocesoyseejecutaelsistema
operativo.Elsistemaoperativo(elplanificador)expulsaal
proceso.
3. El sistema operativo almacenaelestadodel registro con
tador (es como el marca pginas de un proceso) en su
bloquedecontrol.As,cuandovuelvaaejecutaresepro
cesosabrpordondeva.
4. Secalculaelsiguienteprocesoquedebeentrarenbasea
lapolticaquesea.
5. Elsistemaoperativoreseteaelrelojyseautoexcluye.
6. Vamosalbloquedecontroldondeestguardadoelnme
rodedireccinylometemosenelregistrocontador.
7. LaCPUejecutaelprogramapordondeiba.
Hoydaseintentantenerdiferentesflujosdeprocesosparaevi
tar los tiempos muertos del cambio de contexto. De esta forma, los
programasejecutarnunsoloprocesoydentrodeeseprocesoinclui
rn una pequea librera que generar esos pequeos procesos
(llamadoshilos)paraevitarcambiosdecontextoyasahorrartiempo.
SincronizacindeProcesos.
RoundRobin:Esunapolticaexpulsiva(laCPUexpulsara
losprocesos).Puedeponerlosprocesosenaltaprioridad;
hasta que no terminen los de prioridad alta no pasar a
otros.Eltimndeunavin,porejemplo,serasiemprede
altaprioridad.
SJN (Short Job Next): Poltica no expulsiva. El proceso se
ejecutarylaCPUnopodrexpulsarlo.Cuandoelproceso
llama al sistema (no todas las llamadas crean bloqueos,
comoescribirenunbuffer,pedirespaciodememoria)se
bloquear, pero slo una vez haya terminado. El propio
sistema har una llamada al sistema para informar alsis
temaoperativodequeyahaacabado.Elsiguienteproceso
serelmscortodelosprocesos.
FIFO:Losprocesosseejecutanporcompleto,unodetrsde
otro.Esunapolticanoexpulsiva.
EJEMPLO.TenemosunprocesoAejecutndoseyamitaddesu
quantumhaceunallamadaalsistemaparaescribirunbyte.Es
toimplicasaltaralespaciodekernel.Dentrodelkernelescribe
elbyteenelbusparamandarloaldisco.Unavezescritoenel
buseldiscodurotardamuchoendarelbyte.Mientraseldisco
devuelveeldatoaprovechamosydejamosalprocesoAenes
tadobloqueadoporeldiscoduro(lacondicindebloqueoser,
hastaqueeldisconoresponda).Enesemomentoejecutamos
losprocesosByC(ejecutantodosuquantum)mltiplesveces
(demaneraconsecutiva,primeroByluegoC)hastaqueeldisco
responde.Entonceseldiscomandaunainterrupcincuandose
estaba ejecutando el proceso C. El sistema operativo pone en
estadoparadoaCyA(acudealatabladeprocesosyponepa
radosalosprocesos).PodraseguirconA,B,oC,enfuncinde
lapolticadeplanificacin.
SiByCnohacenllamadasalsistema,elsistemaoperativono
serejecutado;sisonprocesosquenotienenentrada/salidano
requerirnalsistemaoperativo.
ImplantacindeSistemasOperativos
GESTORDEMEMORIA
JerarquadeMemoria.
Elmapadememoriaseconstruyesobrediferentesdispositivos.
Podemos tener unas direcciones destinadas a la memoria voltil y
rpida, y otras a la memoria no voltil y lenta. El programador del
sistemaoperativoconoceestaarquitectura.
Segn su tamao y su velocidad de acceso se utilizarn para
unas funciones u otras. De ms precio y menor tamao a menos
precioymscapacidad.
Registros(delaCPUymemoria).Elregistrocontadorsera
ladireccincerodelmapadememoria.
Cache (L1 y L2),cerca delprocesador.Seutilizaparaguar
dar las ltimas instrucciones que has utilizado de la
memoria RAM. Hay polticas de cache, podra guardar lo
ltimoolomsutilizado,enfuncindelasmismas.Segn
dichas polticas, su rendimiento puede variar. Tiene dos
niveles,elL1esmsrpidoqueelL2.
MemoriaRAM(voltil,derpidoacceso)
Discoduro.
MapadeMemoria.
Porcadaprocesoseguardaunaimagenyunregistrodelproce
soenelbloquedecontrol.Estaimagencontiene:
Losdatosdelprograma.
Lasinstrucciones.
Lapilayotroselementos.
AsignacindeMemoria.
Eslaaccindeasignarespacioacadaimagendecadaproceso
entrante.Enunsistemamultiprocesosehabrndegarantizar3cosas:
Ejemplo.Seaunprogramacon3direcciones(#1,#2,#3),en
lasquetenemos[SUMA#2,#3],[7]y[8],respectivamente.
Cuandocargamosesteprogramaenlamemoriaelproceso
sercargadoencualquierranuradememoria.Paraellono
tendremosquecargarelprocesoenlasranuras#1,#2,#3
de nuestra memoria para que se pueda ejecutar la SUMA
del programa, sino que la cargaremos en cualquier direc
cin, por ejemplo, la #51, #52, #53. Para que el programa
noacudaaladireccin#2,#3denuestramemoriaparaha
cer la suma, se crea un mapa de memoria privado y el
sistema operativo tendr que asignar las equivalencias, es
decir,elsistemaoperativoseencargardedecirqueladi
reccin del mapa privado del proceso #2 es igual a la
direccin#52realdelamemoria.Deestamaneralospro
gramas tendrn movilidad, y podrn ser cargados siempre
enelmismositio.Conestesistemalaproteccinvienedela
mano.
MemoriaVirtual.
Paginacin.
Lapaginacinesunatcnicanecesariaparaconseguirlasobre
asignacin, y adems conseguiremos movilidad y proteccin. Los
procesoscargadosenmemoriasedividenenpginas(fragmentos)
10
Proteccin:Losprocesostendrnunmapadememoriapri
vadoparaquelosdemsprocesosnotoquensuespacio.
Movilidad:Hayquepermitirquesepuedancargarprocesos
en diferentes zonas de memoria, para ello se utilizan las
direccionesvirtuales.
Sobreasignacindezonasexternas(sifueranecesario):
Eslacapacidaddedarleaunprocesomsespaciodelque
disponemos.AestoselellamaMEMORIAVIRTUAL.Esde
cir, si tenemos un proceso que ocupa 100 direcciones y
slotenemos80libres,tendremosquemeterloporpartes
endiferentesmomentos.
Seproducecargabajodemanda.Sevancargandolascosas
segnsevannecesitando.Sielgestordememoriaesma
lo,dejarcosasdeusoinmediatoeneldiscoduro,porlo
queelsistema seralentizarysuproducirtrashing.Si
se le deja descansar, el sistema operativo bloquear los
procesosycesarsuejecucin,dejandoderequerirsems
fragmentosaldisco.
ImplantacindeSistemasOperativos
Ejemplo.Siunprocesotiene52ranurasytenemos10ranuras
porpgina,tendremos6pginas(lasextatendr2ranuras).
Si a ese proceso le asignamos 3 marcos estando cargadas las
pginas1,2y4,yunainstruccindelprocesopidelapgina5,
elsistemaoperativotendrqueirporellaaldiscoduroyquitar
unadelaspginascargadasparameterestanueva.
ParasabersiundatoestenunapginarecurrimosalaMMU,
que va a guardar la tabla de paginacin de cada proceso (como si
fueraunbloquedecontrol).
Loquesehaceesdaratodoslosprocesosunmnimodemar
cosdememoriaparaacelerarlosprocesos.
Podradarseelcasodequetodoslosmarcosestuvieranocupa
dosytuviramosquecargarunapginamsesteeselproblemadel
REEMPLAZAMIENTO.
Segnelsistemaoperativosegestionarndeunaformauotra
laspginasquenocabenenlamemoriavoltil.Porejemplo,Windows
utiliza un fichero para colocar las pginas que no caben y las trata
como si fueran un fichero ms, mientras que Linux utiliza una parti
cin(vermsadelante,ensistemadeficheros)metiendolaspginas
endiscoperoconlasmismasreglasdelamemoriavoltil(salvoque
esmslento).
Segmentacin.
Esotratcnicanecesariaparaconseguirsobreasignacin.Con
estatcnica,cadaprocesosedivideensegmentosdetamaovariable
yquesuelensertemticos.Losprocesosagruparnsuinformacinen
segmentos,enfuncindesunaturaleza.EsteprocesoNOESTRANS
DeCdigo:Serecogentodaslasinstrucciones.
DeDato:Serecogentodoslosdatos.
DePila:
EnlaMMUseguardalatabladesegmentos.Seguardasuinicio
ysufin(sulongitud).Estopermitequevariosprocesosabiertoscom
partanlosmismossegmentos.Esdecir,siabrimosdosFirefox,podrn
compartirsegmentos.
Toda esta informacin desaparece una vez el proceso deja de
estarcargadoenmemoria.
Fragmentacin.
Losprocesosvanadejarhuecosalserdescargadosdelamemo
ria. El sistema operativo ser el encargado de volver a asignar esos
huecos.Sinotienehuecos,ircargandotrozosdeprocesos,utilizando
memoriavirtual,deformaqueelordenadorseralentizar.Porello,a
msRAM,msvelocidad.
Lafragmentacinconsisteenundesperdiciodelamemoria,por
dejarhuecosdesaprovechados.Escomocuandoenunaparcamiento
en lnea se producen huecos por salidas y aparcamientos de los co
ches. La segmentacin tiene fragmentacin EXTERNA porque los
segmentossondetamaovariable.
SISTEMADEFICHEROS
Elsistemadeficheros(tambinpartedelkernel)debealmace
narlainformacinsobrelossoportesfsicosytienequesercapazde
encontrarla rpidamente. Para dar buenos tiempos de respuesta se
tendr que clasificar la informacin; el sistema operativo se encarga
de organizar los dispositivos de almacenamiento para garantizar
tiemposrazonables.
El sistema de ficheros crea una estructura bsica dentro del
propio dispositivo de almacenamiento (como si fueran las estante
ras).Aunqueestoocupaespacio,contribuyealordenyportantoala
rapidez.AestoselellamaFORMATOLGICO:aplicarsobreelformato
fsicodeldiscounoscompartimentos(bytes)paraparcelarsuestruc
tura, es decir, lo que se denomina FORMATEO. Es por este espacio
lgicoporloquelosdiscosnotienentodosuespacionetodisponible,
yaquelasmarcasutilizadasparacrearsuestructurafundamental(con
elfindeobtenerrpidamentelainformacin)ocupanespaciodentro
del disco. Cuando realizo un formateo, estoy reconstruyendo el for
mato lgico sin tocar la informacin que est contenida en l. De
hecho, dicha informacin permanece inalterada y oculta, se podra
accederaellaleyendoeldiscobitabit,encrudo.
Cadasistemadeficherosutilizasupropioformato:
11
ImplantacindeSistemasOperativos
ElDirectorio.
ElrboldeFicheros.
Eslaestructuraorganizativaformadaporarchivosydirectorios.
Elrboldeficherossiempreposeeunaraz,queenfuncindelsiste
ma operativo ser una otra (para Windows sera C:\, D:\ , y para
Linux/).
Con esta estructura podemos trazar la ruta o camino de cada
archivo,desdelarazhastasuubicacin.
Metadatos.
Particiones.
ElArchivo.
12
ImplantacindeSistemasOperativos
EstesistemasebasaenunaTABLAFATquerelacionaacadafi
cheroconsuubicacineneldisco.Enestatablaestntodoslos
archivosdeldisco,porloquesisetrataradeundiscograndey
lleno,latablaocuparamuchoespacio.Adems,cuandoelsis
temaarranca,cargalatablaenmemoria,porloquesiesmuy
grandeconsumirmuchamemoria.
AntesdenadahabrquedefinirCLUSTERS.Sondivisioneslgi
cas del espacio disponible orientadas al almacenamiento. El
disco de FAT est dividido en clusters guardados en memoria.
Cadaclusterdelimitaunespaciodeterminadoquesiempreser
igual.
CuandoformateamosenFATcreamos:
X
(10)
(10)
Y
DondelacolumnaCluster(conXigualalvalordelcluster,
desde1hastan)nosindicaelnmerodeesecluster.Ocu
pado, puede ser igual a 1 (en este caso el cluster estar
ocupado),oa0(enestecasoestarlibre).Final,quepo
drtenerunvalorde1(indicandoqueesclusterfinal)o0
(noesclusterfinal).Siguiente,quesiemprequehayaun1
enFinal,tendrun0,ysino,indicarelsiguientecluster
quehabrqueleerparacompletaresearchivo.
Directorio raz: Es una tabla de dos columnas que guarda
losficherosyenquclusterempiezan.
readeDatos:Aquseguardanlosdatosdenuestrosfiche
ros.Estoocupael90%delespaciodelaparticin.
FATdivideelreaformateableenclusters.Porejemplo,si
unarchivoAocupa10bytesycadaclustertieneuntamao
de5bytes,dichoarchivoocupardosclusters.Imaginemos
queocupalosclusters1y2.Cuandograbemosunsegundo
archivoBde5bytesocuparemoselcluster3.Ahorabien,si
volvemosaabrirAyleaadimosinformacin,elsistemade
ficherosmeteresainformacinnuevaenelcluster4,que
dandolasiguientetablaFAT:
1
1
0
2
2
1
0
4
3
1
1
0
4
1
1
0
Hayquetenerencuentaqueeneldirectoriorazpodemoste
ner tambin directorios que nos sealen en qu cluster
empiezan.CuandonosvamosalatablaFATyentramosporese
clusternosencontraremosunatabladedirectoriosdondeesta
rnlasreferenciasdelosarchivosconsusclusters,aligualque
en el directorio raz. Las tablasde directoriosestnesparcidas
endiferentesclustersdelreadedatos.
Recordadqueunclustersloperteneceaunfichero,nopuede
habervariosficherosenuncluster.
Condesfragmentarloquehacemosesagrupartodoslosfiche
rosenclustercontiguos.
PROBLEMAS DE FAT: En versiones antiguas, el programador
pensquecondestinar8bytesparanombrarlosarchivossera
suficiente, por eso estaban restringidos a 8 letras. Adems, el
rendimientoparadiscosgrandesesmuybajo,yunreadeda
tosmuygrandegeneraunatablaFATdegrantamao.
FATestpatentadoenUSAporMicrosoft,peronohaejercido
su derecho sobre su patente porque le interesa que todo el
mundoloutilice.
ENTRADA/SALIDA
Elsistemaoperativocontrolalacomunicacinentrelosperifri
cosylosprocesos.Esunacomunicacinendossentidos:
13
ImplantacindeSistemasOperativos
rrupcinquelatrate.Elconjuntoderutinassedenomina
vector de interrupcin. El vector de interrupcin se carga
enunlugarconocidodelamemoriaquepodramosvariar,
aunquesilohacemos,habraquedecirlealsistemaopera
tivoquecambieesaposicin.
11. Describeenquconsistelasincronizacindeprocesos.
12. Queslajerarquadememorias?
13. Qugarantasdebemosdaralosprocesosdurantelaasig
nacindememoria?
14. Enquconsisteelmecanismodememoriavirtual?
15. Describe la paginacin y comprala con la segmentacin y
explicaenquconsisteelproblemadelreemplazamiento.
16. Enqufuncinescribeelsistemadeficheros?
17. Quesunaparticin?
18. Cmoseorganizanlasparticionesenundiscoduro?
19. Diferenciaentrearchivoydirectorio.
20. Qusonlosmetadatos?
21. CmofuncionaFAT?Describesuestructuraprincipal.Ilus
trarestefuncionamientoconunejemplo.
22. DescribebrevementelosdosflujosdecomunicacindeEn
trada/Salida.
23. Explicalosconceptosdedriveryqupapeljuegaenlaco
municacinconlosperifricos.
24. Describebrevementeelmodelodeinterrupciones.
PREGUNTAS.
1.
14
TemaTres
MquinasVirtualesy
VirtualizacindeSistemas
INTRODUCCIN
ELEMENTOS
Host:Lamquinafsica.
Monitor: Software que crea la capa de abstraccin en el
host.Sepuedeinstalarsobreelpropiohardware.
Guest: Mquina virtual. Funciona sobre el VMM. Cada sis
temaguesttrabajadeformaindependienteydesconoceel
restodesistemasinvitados.
OTROSMODELOS
Lavirtualizacinsepuedeconseguirdeotrasformas.
Aniveldeprocesos(JVMo.NET).Cadaprocesotieneincor
porado una pequea librera de virtualizacin, como si
cadaprocesotuvierasupropioVMM.
Aniveldesistemaoperativo(OpenVZ).Seinstalansobreel
hardware.Lapropiaplataformapuedesustituiralsistema
operativo. Es un kernel modificado que puede ejecutarse
sinsistemaoperativo.Sloestnpreparadosparaejecutar
sobreellosmquinasvirtuales.Notieneninterfazgrfica,
esalgoligero,paratcnicos.Aquelpropiomonitoresel
sistemaoperativo,yelquegestionarelrepartodeproce
sos con cada mquina virtual. Puede arrancar mquinas
virtualesconprioridades,porloqueelrendimientomejo
rar.EjemplosdeestetiposonCitrixoXen.
CARACTERSTICAS
Nosotrosvamosautilizarunmodelodenominadomquinavir
tualdesistema.
EmuladorsobreSistemaOperativo(VMware).Seinstalaso
bre el sistema operativo como una aplicacin que no
podrplanificarniasignarmemoria.
VENTAJAS
OptimizacindeRecursos.Lasmquinaspuedensersusti
tuidasporunnmeromuchomenordeellas,consiguiendo
lasmismasprestaciones.Estenmeromenordemquinas
sern mucho ms potentes, deforma quepuedan sopor
targranjasdemquinasvirtualesejecutadassobreellas
(poolderecursos).Conelloconseguimosquenohayam
quinasinfrautilizadas.
Reduccin de Costes. Al necesitar menos mquinas aho
rramos en costes. Adems, a menos mquinas, menos
hardware y por tanto se reduce el nmero de fallos. Al
centralizarlosrecursosenesasmquinasmuchomspo
tentes abarato en las tareas de administracin y
mantenimiento y homogeneizo el hardware. Al consumir
menos energa participo cuidando el medio ambiente
(ecocomputacinogreenIT).
MejoradelaRecuperacinanteFallos.Larestauracindel
sistemaguestestrivial.Recuperarunamquinavirtuales
tansencillocomoarrancarunprograma;lonicoqueten
dremosquehaceresreiniciaresaplataformaenunhostu
otro. El proceso de rearranque es ms ligero que el de
una mquina fsica. Todo el sistema invitado suele estar
representadoensimplesficheros.Adems,sitenemosdi
ferenteshostpodemoshacermigracionesencalientesde
15
ImplantacindeSistemasOperativos
CloudComputing.
Estemodelobuscaunaplataformatotalenlaquenosetenga
queejecutarnada(nisiquieraelsistemaoperativo)entuprocesador.
Porlotantolosterminalesparticularesperdernpotencia,delegando
todoelpoderdeclculoensupercomputadoresqueejecutarnnues
tros programas y que almacenarn toda nuestra informacin. Con
esos terminales, el usuario ejecutar el mnimo proceso para poder
acceder a esas aplicaciones remotas. Actualmente esta funcin la
cumpleelnavegador,aunqueelprotocolohttp(delosaos90)estal
lmitedesusposibilidades.
Conestemodelocentralizastodoenunsitio,ahorrandoanivel
administrativoyanivelderecursos(Gmail,Facebook,Twitter).
Amazonofreceestetipodehosting,alquilndoteunacapacidad
deprocesamientoycreandobajodemandaloquesenecesite.Deesa
forma, ante picos de trabajo, mejorars el servicio sin necesidad de
invertir en hardware que quedar sin utilizar en los das de poco
trnsito. Esto tambin ahorra en mantenimiento de mquinas (y el
ahorrodelmantenimientodeunCDPCentrodeProcesamientode
Datos,quetienequeestarclimatizado,protegidocontraincendios).
Lo malo es que el ncleo central del negocio estar en manos de
otros.Porejemplo,WikileaksfuecapadoporAmazon.
Algunasventajassonquesecrecemsrpidamente,porquees
mssencillo mejorar esosservidores centrales. SedicequeesESCA
LABLE,porquepuedeaumentarsuscapacidades,yporelloesFLEXI
BLE. El cloud computing puede permitir por tanto sistemas ms
escalablesyconmayorMOVILIDAD,noporquesemuevaelsoftware
(que de hecho no se mueve en absoluto), sino porque los usuarios
accedernalsoftwareatravsdesusterminales(comoahoraloesel
navegador),desdecualquierparte.
FABRICANTESYLICENCIAS
VMWARE
CREARUNAMQUINAVIRTUALNUEVA
VMwareTools.
CONFIGURACIN
16
ImplantacindeSistemasOperativos
DiscosDuros.
Podemosaadircuantosqueramosypodremoselegirsucone
xin, IDE o SCSI. Cada disco se representa como un fichero con
extensin VMDK, que representar el disco duro de la mquina vir
tual.Silamquinavirtualtieneundiscode50Gb,eseficheroocupar
lomismo.
Sepuedehacerqueelespaciovayacreciendo,esdecir,quees
tosficheroscrezcandinmicamente,deformaquenotengamosque
especificareltamao,peroaslamquinavirtualperderrendimiento
(no se recomienda para servidores en produccin), aunque tambin
optimizarelespacioendiscoparasuusodomstico.
TarjetasdeRed.
Podemosaadircuantasqueramos,aunquealfinaltodasutili
zarnlastarjetasfsicasquetengamos.Cadatarjetavirtualcrearun
puentesoftware(enConexionesdeRed).
Haytrestiposdeconfiguracin:
HostOnly:Elguestslopodraccederalosserviciosque
estnactivosenelhost.Sielhostnotieneningnservicio,
el guest no podr tenerlos; ambos utilizarn una red pri
vada para comunicarse. Es un entorno ms restringido y
controlado.
Bridge:CadamquinavirtualtendrunidentificadorIPin
dependiente;habrqueconfigurarcadaunadeellascomo
sifueraunamquinanueva.
NAT: Las mquinas virtuales utilizan la misma direccin IP
que la mquina fsica. El guest se conecta a Internet por
mediodelhost.
Snapshots.
Esunafotofijadelestadodelamquina.SeentiendeporES
TADOelcontenidodelosdiscos,elcontenidodelamemoria(guarda
elcontadordelprograma;todoloquehayaenlaRAM),etc.Conlos
snapshots se podr volver a ese estado en cualquier momento. Un
snapshot crea un VMDK que se puede seguir leyendo pero no se
puede modificar. Para volver a ese estado se sustituye el VDMK,
creadoenelmomentodelacaptura,porelVMDKactual.Esteproce
soesmuyrpido(tardaapenasunossegundosenrestaurarse).
PREGUNTAS.
1.
2.
3.
4.
5.
6.
7.
8.
17
Enquconsistelavirtualizacin?
Qu elementos intervienen en la virtualizacin de un sis
tema?
Enumera las ventajas que aporta la virtualizacin de siste
mas.
Qutiposdevirtualizacinhemosvistoenclase?Describe
susdiferencias.
Enumeraunpardefabricantesdeproductosdelicenciali
bre y propietaria destinados a la virtualizacin y comenta
algnaspectodeellos.
Quesunsnapshot?Quventajasnosaporta?
Seraposiblecrearunsnapshotsobreunamquinafsica?
Define y explica brevemente el concepto de cloud compu
tingyenumeralasventajasqueaporta.
TemaCuatro
IntroduccinaUnix
INTRODUCCIN
CARACTERSTICAS
Unixesmultiusuario.Tradicionalmente(ensuscomienzos)cada
unodelosusuariosmanejabasusistemaatravsdeunaconsola(una
televisinconteclado),noatravsdeunordenador.Dichaconsolase
conectaba con el ordenador a travs de un bus independiente. Para
acceder,cadausuariosevalidaconsuidentificador(login)ycontrase
a.Siescorrecta,UnixarrancaunprocesollamadoSHELL,queserel
encargado de comunicarse con la consola (ser el portal entre el
kernel y la consola, y viceversa). El usuario tiene como interfaz la
SHELL.Enestemodeloslohabaunordenadorporinfraestructuray
lasconsolasnialmacenabannicomputabannada.
Cada usuario trabaja dentro un espacio de almacenamiento
personal(undirectoriopropio,dentrodelrboldeficherosdelsiste
ma,alqueaccedenlosusuariostrasvalidarsunombreycontrasea).
Atravsdecomandosescritos,elusuariosecomunicaconelsistema.
DichoscomandossoninterpretadosporlaSHELL,queserlaencarga
daderealizarlasllamadasalsistemaoportunas.Portanto,laSHELLse
ejecuta en espacio usuario (si estuviera en el kernel no tendra que
hacerlas,puestoqueserapartedelsistema).
EnUnix,elusuarioROOTeseladministrador,poseeelcontrol
totaldelamquina,sobrelnosecontrolaningnpermiso,simple
menteseledejahacer.
EnUnix,losusuariosseagrupanyseetiquetanenGRUPOS;un
usuariopuedeperteneceravariosgrupos.Todoslosficherosydirec
toriostienenunnicopropietarioypertenecenaunnicogrupo.Los
grupos permiten que varios usuarios trabajen de forma cooperativa
conficherosydirectorios.
Adems,Unixesmultiprocesoydetiempocompartido(verte
ma 2, Clasificacin de sistemas operativos). Es portable gracias a
POSIXyalcompiladordeC(comoseaadienlaintroduccin).Una
caractersticaimportantemsdeUnixesquetodosonficheros.
En1969BellLabscomienzaadesarrollarelprimersistemaopera
tivodetiempocompartido,elproyectoMULTICS.Losrequerimientosde
unapotentemquina(GE645)obliganaabandonarlo.
ThompsonyRitchiecomienzanaescribirunnuevosistemapara
la PDP7; una mquina mucho ms barata. En 1970 aparecen las
primeras versiones escritas en lenguaje ensamblador de la PDP7,
pero eran versiones poco portables. Para solucionarlo, Ritchie desa
rrollaellenguajedealtonivelC,en1973,reescribiendotodoelncleo
deUnixenC.TeniendouncompiladordeCparacadaarquitectura,
Unixesportablesintocarunalnea.
UnixfuedesarrolladoporKenThompsonyDennisRitchiedelos
Bell Labs, para el computador PDP7 de DEC. Fue el primer sistema
operativomultiusuario,reescritoenunlenguajedealtonivelyporta
ble.
LapublicacindelcdigodeUnixydelcompiladordeCsedi
fundi rpidamente entre los mbitos acadmicos. Debido a esto
aparecieronlosprimerosclones(comoBSD,en1975),yelcdigose
ampli y mejor (en el futuro apareceran problemas legales). Entre
lasfamiliasdeUnixseencuentran:
SystemV.Eslaconsideradaherederadelaversinmspu
radeBellLabs.
BSD.CreadaapartirdellicenciamientoaBerkeley.Reescri
ta para evitar problemas legales. Primera pila de
protocolosTCP/IPdeInternet.
AIX.SurgedellicenciamientoaIBM.
GNU/Linux. El movimiento GNU ha intentado reescribir su
propioUnixparalicenciarloconsulicenciaGPL.
ParallamaraalgoUnixtienesquepagar,yaqueesunamarca
licencia del consorcio The Open Group. Por ejemplo, Linux, FreeBSD,
NetBSD,nosonUnix.Lacompatibilidadrealentretodoselloslamarca
el estndar POSIX (es un estndar, escrito en C, sobre la interfaz de
llamadasalsistema).Siestandarizasesto,lohacescontodaslaslibre
ras de llamadas al sistema, mejorando la portabilidad. Los
programadoresyasabenloquevanaencontrarsecuandoelsistema
operativoesPOSIX.UnixyMACOSloson.
ELEMENTOSDELSISTEMA
LOADER(CARGADOR)
Esunpequeoprogramaencargadodecargarelkernel(esde
cir,pasarlodeldiscoalamemoria).
Cuando la CPU arranca, en el principio de la SECUENCIA DE
ARRANQUE, siempre tiene que leer una direccin de memoria. Esta
direccin (quesueleestar fijada porlosdiseadores del microproce
18
ImplantacindeSistemasOperativos
Ejemplo.LosdiseadoresdeunaCPUnosindicanquesuproce
sadorempiezaaleerporladireccin0000.Nosotrospodemos
pinchar,desdeladireccin0000ala1024unmdulodememo
riaROM.Enesamemoriapodemosponerlasinstruccionesde
nuestroprogramainicial(quelosIBMPCsuelenllamarBIOS)y
la CPU lo ejecutar siempre al inicio. Apaguemos o no el
computadorsabemosqueelprogramainicialestarpreparado
enesamemoriacuandolaCPUvayaaleerloall.
Ese primer programa (la BIOS), podra cargar el kernel del sis
tema, pero en la actualidad los fabricantes de sistemas operativos
prefierenqueeseprimerprogramacargueelprogramaCARGADOR.
LaBIOSsepuedeconfigurar,asignandounalistadeprioridades
dondebuscarelprogramacargador;unavezlohaencontrado,laCPU
lo ejecuta, y una vez en marcha, encuentra al kernel (de manera
sencilla,yaquecadacargadoresprogramadoporloscreadoresdesu
propiosistemaoperativo).Despuslocargaenmemoriaylediceala
CPU dnde empezar a leer la direccin de memoria del kernel. Una
vezcumplidasufuncindesaparecedelamemoria.Enesemomentoel
kernel se ejecuta de forma directa (sin interrupciones ni llamadas al
sistema), cargando todas las estructuras que va a necesitar el sistema
operativo(tablasdeprocesos,planificador,etc.).Eslanicafasedonde
seejecutaelkernelperse.
Todoestoesvlidoparacasicualquiersistema,nosloparaUnix.
KERNEL
Esunarchivoejecutablequerecogelamayorpartedelcdigo
del sistema. Lo que no forma parte del mismo son libreras (DLL
DinamicLinkLibrary).Resultadelacompilacindetodosloselemen
tosfundamentalesestudiadosenelTema2.
CuandoarrancalaCPUylaBIOSejecutaelcargador,stebusca
elarchivodelkernelparaejecutarlo.Serelprimercdigoqueejecu
telaCPUparaponerenordenelsistemaantesdequepuedarecibira
losdemsprocesos.
Sepuedenconseguirkernelmspequeospasandopartedesu
cdigoalibrerasexternasqueseenlacendinmicamente,porejem
plolaslibrerasTCP.Deestaforma,elprimerprogramaquerequiera
esalibreratendrqueesperarhastaquesecarguenenmemoria.Con
esto, lgicamente, conseguiremos que el kernel consuma menos
memoriayserealice,portanto,unarranquemsrpido.
DEMONIOS
SonprocesosNOINTERACTIVOS(esdecir,norecibenningnin
putdelosusuarios,nointeractanconningunashell)ejecutadosenel
SHELL
Eslainterfazdeusuarioentreelkernelylosusuarios,llamada
INTRPRETEdecomandos.Cadashellcontrolaunaconsola,yseeje
cutaenlamquinaUnix,noenlasconsolas.Cuandounusuariovalida
su nombre y contrasea contra un demonio a travs de su consola
hardware, el sistema carga una shell, por lo que dicha shell ser el
nicovnculoentreelusuarioylamquinadurantetodalasesin.
Esto se suele representar en forma de crculos concntricos,
dondeelncleoestocupadoporelkerneldeUnixyrodendoleest
lashell.Elcrculomsexteriorestaraocupadoporlosusuarios.Este
diagrama representa la imposibilidad de lo usuarios para llegar al
kernelsinutilizarparaellolashell.
SECUENCIADEARRANQUEDELSISTEMA
LaCPUcomienzaaejecutaralosdemonios.
Lamquinaquedaalaesperadeconexionesdeusuarios.
FICHEROS
Comosehadichoantes,enUnixsontodoficheros,loquesigni
ficaquerecibirnestadenominacintantoarchivoscomodirectorios.
19
ImplantacindeSistemasOperativos
Ficherosdedatos.Binariosoplanos.
Directorios: Cuando creamos un directorio tenemos siem
pre dos entradas, la entrada . (apunta al directorio
actual)yla..(apuntasiemprealdirectoriopadre).
Ficheros especiales: Son la interfaz entre los procesos, los
dispositivosyelkernel,Unixlosutilizaparaaccederato
doslosrecursosdelsistemaypodermanipularlos.Noson
bytesalmacenadosen undisco,sino portalesde comuni
cacinconlosdriversdelsistema,alosqueaccederemos
cuando leamos o escribamos en este tipo de ficheros. Es
decir, utilizando las operaciones bsicas de los ficheros
(leeryescribir)podremosmanipularcualquierdispositivo,
consiguiendo HOMOGENEIZAR todo el sistema (con dos
llamadasalsistemasehacetodo).
Algunosficherosdeestetiposon/dev/random
(sobreelquenopodremosescribir,ysiloleemos,elsis
tema nos devolver una serie de bytes aleatorios,
ofrecidosporundriver,yaqueeltamaodelficheroesde
0bytes);/dev/null(delquenopodremosleer,peroso
breelquepodremosescribirsinquesutamaoaumente;
el sistema ignorar todo lo que se escriba en l, sin que
vayaapararaningnsitio).
Rutas.
Todoslosficherosselocalizanenunaruta(path).LaRUTAesel
conjuntodenombresquehabrquecruzarenelrboldeficheros
parallegaracualquieradestino.Cadaunodeesosnombressesepara
porelsmboloslash(/).Enunaruta,todoslosnombrescorrespon
denadirectorios,menoselltimo.
Hay dos formas de establecer la ubicacin de un fichero, me
diante:
RutaRelativa:Larutacomienzaporunnombreynoporla
raz(/).Elsistemaloencuentrautilizandocomoreferencia
laubicacindondeseubicaelusuario.Cuandounusuario
tieneasignadaunashell,sueleapuntaraundirectoriodel
rbol (que suele ser el directorio home, es decir, el
workingdirectorydelusuario).
RutaAbsoluta:Larutacomienzaporeldirectorioraz(/).
Ejemplo.Imaginemosqueennuestraraztenemosundirecto
rioDir1,yquedentrodelmismoexistenotrostresdirectorios
ms:A,ByC.SidentrodeldirectorioAexisteelfichero
F1,ynosencontramosenesedirectorio,A,larutaquede
ber indicarle a shell para que borre F1, ser /Dir1/A/F1
(rutaabsoluta)oA/F1(rutarelativa).
Metadatos.
Losmetadatosyasedefinieroneneltema2SistemadeFiche
ros. Almacenan informacin sobre los ficheros, por lo que son
similares en ficheros y directorios (propietario, grupo del fichero,
tamao,permisos,fechayhorademodificacin).
Permisos
Unixnotienelistasdecontroldeacceso,nocrealistasdeusua
rios(CL)conlasoperacionesquepuederealizar,sinoquepermitetres
operacionesparacadaficheroydirectorio:
Leer(Read):Recuperarbytesdeunfichero.
Escribir(Write):Modificarlo.
Ejecutar(eXecute):Cargarsucontenidoenmemoriayeje
cutarlo, o cargar su intrprete en memoria y que lo
ejecuteste.
Adems,Unixdiferenciatresrolesdeusuariosrespectoafiche
rosydirectorios:
Propietario(Userowner).
Miembrodelgrupodelfichero(Groupmembers).
Todoslosdems(theOther).
Paracadaficheroseguardaunaristrade9bitsquemuestralos
permisosquetiene;3paracadaunodelosrolesydeesostres,uno
paracadaunadelasoperaciones.
Montajes.
20
ImplantacindeSistemasOperativos
Sinolomontramostendramosquemanejareldispositivocon
leer/escribir,trabajandoconlainformacinqueestalmacenadaen
crudo(algoquehacenlosgestoresdedisco).
SoftwareLibreyGPL.
AunquetodoelsoftwareGPLeslibre,notodoelsoftwarelibre
es GPL. Esto esporque existen muchas licencias libres. Es la GNU, a
travsdelaFSF(FreeSoftwareFundation),laquedecidesiunalicen
ciaeslibreono.Paraello,tendrquecumplirlascuatrolibertades.
Hay que tener en cuenta que estas libertades no dicen nada
acercadeladistribucin.Referidoaestoexistendiversaspropuestas
msymenosrobustas(MIT,BSD,Apache,etc.).
HISTORIADELINUX
En1980,laGNUyStallmancomienzanacrearunUnixcomple
tamente libre. En su versin, su kernel se denominaba HURD, y
desarrollaronparalungrannmerodeaplicaciones,comouneditor
detextollamadoEmacs(EditorMACroS),gcc
En1990,LinusBenedictTorvalds(ingenierodesoftwarefinlan
ds)empiezaamodificarMinix(unUnixdejuguete)ylocompilaen
unIntel386.
En1991,LinusliberalaprimeraversindeLinuxconsistenteen
unkernelqueharecibidoaportacionesdeotrosyqueestlicenciado
conGPL.Linusutilizaparaestaversinelcompiladoryotroselemen
tosGNU.Naceunapolmicainterna:LinuxoGNU/Linux?
Actualmente HURD est abandonado. Linux es el sistema ofi
cialdelacomunidadlibre.
LinuxyUnix.
LinuxderivadirectamentedelosancestrosdeUnix,enconcreto
de Minix. No es POSIX, aunque cumple su estndar en su totalidad.
Porello,muchosnoleconsideranunUnixpuro,ototalmenteUnix.
AvanceyDesarrollo.
ElavancedeLinuxescomplejo.Noexisteunorganismocentra
lizador ni coordinador. El kernel est gestionado y se actualiza por
Torvalds y su equipo. El resto de usuarios coge el kernel y le aade
aplicacionesexternasasugusto,creandounadistribucin.
Unadistribucinestformadapor:
Kernel+Aplicaciones
dondeelkernelpuedeseroficialoestarmodificado.Cadadistribucin
avanzadeformaindependienteypublicasuspropiasactualizaciones
en sus propios servidores. Muchas distribuciones comparten aplica
ciones. En las distribuciones no existe ningn elemento
estandarizador,yportantopuedenexistircambiosdelibreras,entor
nos,plataformasloquehacequetodoestmuydesorganizado.
Detrsdelasdistribucionesexistendiferentestiposdecolectivos:
Empresas:Ubuntu,Suse.
Gobiernos:Max,GuadaLinex.
LINUX,UNUNIXLIBRE
QUESLINUX?
Linuxbienpuedeserunkerneldeunsistemaoperativoounsis
temaoperativocompletoqueutilizasupropiokernel.Sealoquesea,
essoftwarelibreyutilizalalicenciaGPL.
SoftwareLibre.
http://www.gnu.org/gnu/manifesto.es.html
Esunamaneradeentenderelsoftware;silainformacintiene
queserlibreyelsoftwareesinformacin,entonceselsoftwaredebe
serlibre.Paraello,elcdigofuentedebeserpblicoylibre,esdecirel
cdigopodrser:
Modificado.
Redistribuido.
Ejecutado.
Libertad0.Libertaddeejecucinparacualquierpropsito.
Libertad1.Libertadparaestudiarsufuncionamiento.
Libertad2.Libertadparadistribuircopias.
Libertad3.Libertadparamejorarloyadaptarlo.
LicenciasGPL(GeneralPublicLicense).
21
ImplantacindeSistemasOperativos
2.
ComunidadesdeUsuarios:Gentoo,Debian.
ElnicodenominadorcomnatodoestoeslalicenciaGPL.
Losrepositoriosoficialesdelkernelestnenkernel.org.Exis
tenmilesderepositoriosnooficialesyaquecadaunopuedehacerlas
modificaciones que quiera al kernel (por ejemplo Android). Incluso
aquellos que quieran incluir sus modificaciones en el kernel oficial
pueden enviarlas a la lista de correo oficial, donde los committers
decidirnsiincluirlasonoenelkerneloficial.
3.
4.
5.
PREGUNTAS.
9.
6.
7.
8.
1.
DescribebrevementelascaractersticasgeneralesdeUnixy
sumodelodeutilizacin.
22
Quineselusuariorootyqudiferenciasexistenentrel
yelrestodeusuarios?
ExplicaelprocesodearranquedeUnix.
Qufuncionestienelashell?
Describe las caractersticas generales del sistema de fiche
rosdeUnix.
Quesunmontajeyquimplicarealizarlo?
DescribeelmodelodepermisosdeUnix.
Enumera cules son los metadatos estudiados que utiliza
Unix.
Quesunficheroespecialodedispositivo?
TemaCinco
LinuxI
AdministracinyUsoBsico
ARQUITECTURA
CARACTERSTICAS
Linuxesunsistemaoperativomultiprocesoymultiusuario.En
trelosusuariosdistinguearoot(raz)yatodoslosdems.Adems,
estconformadoensutotalidadporficheros.
Ensuorganizacinsloexisteunrboldeficherosdeestructura
horizontal,dondeestosseagrupanendirectoriostemticos.EnLinux,
dichosficherosnotienenextensin,perocadaunotieneunnombrey
unaruta(bienseaabsolutaorelativa).Porltimo,todoslosficheros,
y por tanto todo lo que forma Linux, tiene tres permisos: lectura,
escriturayejecucin.
USODELSISTEMA
LinuxtieneciertasreminiscenciasdelsistemaUnix.Enl,cada
usuariomanejabaunaconsolasobrelaquesevisualizabalashell,de
forma que todos los usuarios se conectaban a un solo sistema Unix,
introduciendosuusuarioycontrasea.Hoyda,nuestraCPUesnues
tropropioUnix,sobreelquepodemosarrancarmltiplesshells.
Elarchivo/etc/shellsnospodrdarunaideadelasshe
llsdeunsistemaLinux.
~$ cat /etc/shells
/bin/bash
/bin/sh
/bin/tcsh
/bin/csh
ArranquedelaShell.
Cadavezqueunusuariovalidasuacceso,searrancaunashell
paral.Durantelasesinpodremosarrancarmsdeuna;siejecuto
bash,searrancarotrashell,quedandolaanteriorbloqueadahasta
quelanuevanofinalicesufuncionamiento.
Alarrancarlashell,leesusparmetrosdeconfiguracindeun
fichero llamado .bash_profile (ten en cuenta que el primer punto
indicaqueelficheroestoculto)enmuchasdistribucionesy.bashrc
enUbuntu.Existeunficherodeestetipoporusuario,dondeseguar
SHELL
TiposdeShell.
Haymuchasshell:
ShellBourne(sh).Eslashelloriginalanutilizadaensiste
mas UNIX y derivados. Es la shell bsica, un pequeo
programaconpocascaractersticas.Aunquenoeslashell
23
ImplantacindeSistemasOperativos
danlaspreferenciasdesussesiones.Sinosecrearaestefichero,alser
bashunproceso,desapareceraalapagarelsistema.
Cuandovalidamoselnombredeusuarioylacontrasea,apare
cenunaseriedelneasenpantalla.Estaslneasestnescritasporel
kernel y por el proceso INIT, mostrandoun anlisis del arranque. En
laslneasfinalesaparecertty1,quenosmuestraqueestamosenla
consola nmero 1, siguiendo el esquema de funcionamiento de los
aos70.
UsodelaShell.
Unavezarrancada,elusuariolamanipularatravsdecoman
dos que sta entienda. Una vez validado el nombre de usuario, el
sistemamostrarelPROMPT,loquesignificaquelashellestprepa
rada para recibir un comando. El prompt en Linux suele tener la
siguienteforma(terminaconelsmbolo$):
usuario@maquina:/ruta$
(alumno@mvirtual:~$)
LoscomandosseintroducenenLinuxsiguiendoelsiguientees
quema:
ExpresionesRegulares.
Ledanflexibilidadalainvocacindecomandos.Loscaracteres
comodines se utilizan para que la shell los sustituya por otra expre
sin. De forma que si utilizamos el asterisco (*), la shell utilizar
cualquiersecuenciadecaracteres,ysiponemoselsignodeinterroga
cin(?),lostendrencuentadeformaindividual.
RedireccionesdeFlujo.
LosprogramasenLinuxtienentresflujosdedatos,queseiden
tificanconlosnmeros0,1y2:
Cuandolashelllepidealkernelqueejecuteunproceso,infor
maralkernelyalprocesosobreelflujodedichoproceso(esdecir,
sobre suentrada/salida). Por defecto tomar los datos del tecladoy
mostrarlasalidaporpantalla,peropodrasertambinalgocomola
entradalacogesdeestatuberaylavuelcasenaquelfichero.Deesta
formaredirigimoselflujodelosdatos.
Sinohayinformacindeeseflujo,elprocesovolcarlain
formacin al monitor (salida estndar). Sin embargo,
podemos pedirque saquelos datosno porpantalla sino,
por ejemplo, a /dev/null, o redirigirlo a un fichero,
almacenandoenllainformacinquedeotraformamos
traraenpantalla.
Igualmente,lasalidaestndardeerrorserelmonitor.
La entrada estndar es el teclado, pero se puedecambiar,
porejemplo,lashellpodrapedirlequecuentecaracteres,
peronodelteclado,sinodeunfichero.
Engenerallosprogramasycomandosnomuestrannadasitodo
vabien.
Paramodificarlasentradasylassalidasdeloscomandoshabr
queescribir:
>(paraqueredireccionelasalida).
2>(paraqueredireccionelasalidadeerror).
&>(paraqueredireccioneambassalidas).
>>(paraqueredireccionelasalida;sintruncar,esdecir,
loqueescribamosloaadirenunalneanuevaalarchivo
queyaestcreado.Estaopcinpermitetambinlanota
cin2>>&>>).
<(paraqueredireccionelaentrada).
24
ImplantacindeSistemasOperativos
Ejemplos.Siescribo:
Lainformacindelosficherosquehaycontenidoseneldirecto
rio bin, se escribir en el fichero salida.txt situado en el
directoriotmp(tododentrodeldirectoriohome).
Escribirelcontenidodebinensalida.std,ysi dieraerror,
dichomensajeseescribiraenelficherosalida.err.
envezdemostrarelcontenidodelarchivoenpantalla,lomete
renelficheroarchivo.copia.
Ordenalaslneasdelficheronombres.txt.Sortpuedeordenar
variosarchivosalavez.Porejemplo,siqueremosquelosarchi
vosnombres1ynombres2quedenordenadosyquedenas
enunarchivonuevollamadonombres,escribimos:
Tuberas.
Conectanlaentradadeunprocesoconlasalidadeotro,consi
guiendo que se comuniquen datos entre s. Ambos procesos se
arrancanalavez,peromientrasnohayadatosenlatubera,ellector
se bloquea. Es decir, el comando que escribamos a la derecha de la
tuberatomarcomoentradalasalidadelcomandodelaizquierda.
Ejemplo.Siescribo:
Aquloquenosmostrarsernlasprimerasdiezlneasdelar
chivonombres.txtenpantalla.
Se pueden utilizar varias tuberas en la misma invocacin y se
puedencombinarconredirecciones.
Tenencuentaquelastuberasestnlimitadasencapacidad,de
formaqueunavezalcanzadoeselmiteharqueelprocesodesalida
sebloquee.
VariablesdeEntorno.
Sonunconjuntodevaloresasociadosaunnombrequeafecta
almododefuncionardelosprocesosydelashell.Dichosvaloresse
almacenan dentro de bash y slo sern visibles en la shell que se
declararon.Esdecir,siarrancounasegundashellnotendrlasvaria
blesquehayadeclaradoenlashellmadre,porloqueparaquesean
globalestendremosqueutilizar:
/# export VARIABLE
yastodaslasshellhijastendrnincluidasdichasvariables.
Lasvariablesaportaninformacinalashell.Dichainformacin
no se perder al cerrar la shell porque se almacenan en un fichero
estticodedisco,ypodrafectaralosprogramasqueestemosejecu
tando.Lasvariablessonconsultadasporbashdurantesuejecucin,es
decir, si introduzco la variable colors=1, cuando bash consulta el
espacio de variables y se encuentra con esto, har que los procesos
imprimanloscaracteresencolor.Porponerotroejemplo,sialarran
carFirefox necesita guardar ciertoarchivo temporal, le preguntar a
bashsitieneunavariablequeindiquelarutadondepodraguardarlo.
Hoy da casi todos los procesos guardan sus propios ficheros, pero
antiguamente funcionaban en base a las variables que bash pudiera
contener.
Comoseindicantes,hayunficheroquebashleeryejecutar
antes de dar el primer prompt (.bashrc). En dicho fichero podrs
meter las variables de entorno, de forma que aunque las pierdas
cuando cierres el proceso, las volvers a cargar al inicio, por ello se
dicequesondinmicas.
Lasvariablessedeclarandelasiguienteforma:
~$ VARIABLE=valor
~$ VAR=F1
~$ cat F1(serlomismoquesipongo:cat $VAR).
Ysipongo:
~$ VAR=ls
~$ $VAR(serlomismoqueejecutarls)
25
ImplantacindeSistemasOperativos
Enbashpuedesmeterloquequieras:rutas,comandos,etc.Ten
encuentaque para modificar cualquier variablede entorno siempre
tendremospermisosporquesernuestrashell.
VariablePATH.
~$ PATH=$PATH:/nueva/ruta
Tenencuentaquealintroducirelsmbolo$antesdelavariable
estamosrecuperandosuvalor(talycomosedijomsarriba).Elorden
enelqueintroduzcaslasvariablesaPATHserrespetadoporbash.Si
porejemplopongo:
~$ PATH=.:$PATH
Harquesiemprequevayaaarrancarunprograma,bashbus
queprimeroeneldirectorioenelquemeencuentre.
Has de saber que aunque eliminemos el valor por defecto de
PATH,bashsiemprepodrejecutarloscomandosechoyexit,pues
soncomandosinternos.
Algunas variablesde entorno msson:HOME, MAIL,PS1,HIS
TORY,CLASSPATH.
Inodo.
Losinodoshacenreferenciaaunaestructuradedatos,unaes
pecie de ficha con diferentes campos (por ejemplo, el bloque de
control,losmetadatosdelfichero).Elinodoalmacenalosmetadatos
decadaficheroexistiendouninodoporcadadirectorio.Guardanuna
listaconlalocalizacindelosbloquesdediscodondeestguardado
cada fichero. Estos bloques se gestionan en grupos, reduciendo la
fragmentacindelosficheros.
A travs de la ruta de los ficheros llegamos a su nombre que
tendrasociadoun nmerode inodo;dichonmero estarrecogido
en la tabla de inodos. Esta tabla se carga durante el arranque. La
tablasealmacenaenlaprimerapartedeldiscoysecargaenmemoria
(pudiendocargarseporbloques).
Cadatablaemparejanombresynmerosdeinodos.Porejem
plo,sieneldirectorioraztuviramoslasiguientetabla(elinododela
raznohayquebuscarlo,estenlugarconocido):
SISTEMADEFICHEROS
Voyalinodo3ytenemostodoslosmetadatosde/bin/lsynos
dicequeestenelbloque155y156,yallencontramoselfichero.
Existe una cach de bloques para que no tenga que acceder
siemprealdisco.
DiferenciasconFAT.
Dentrodeunficherocadabloqueapuntaasusiguiente,porlo
que no es necesario consultar continuamente la tabla de inodos.
Adems, reduce la fragmentacin debido a la gestin de los inodos
(losbloquestiendenaalmacenarsecercanosyengrupos).
inodo
..
bin
dev
Enestatablalosdirectorios.y..apuntanalaraz,porlo
quecompartenelmismoinodo.Siquieroleer/bin/ls,voyaraz
y/binestenelinodo4.Voyalatabladeinodosyenelinodo4
estnlosmetadatosde/bin,dondepuedoleerqueseencuentra
enelbloque144.Leodichobloqueytengootratabladedirectorios
de/bin.
Ficheros
inodo
/bin/nano
/bin/ls
CARACTERSTICAS
ElsistemadeficherosesparecidoalUFS(UnixFileSystem),por
lo que slo existe un rbol y por tanto slo tiene una raz (/). El
sistemasiemprediferenciaentremaysculasyminsculasylosfiche
ros no tienen extensin. Los ficheros y los directorios son lo mismo
(ambostienenlosmismosmetadatos).
Elsistemadeficherosestbasadoenelconceptodeinodo.
26
Directorios
ImplantacindeSistemasOperativos
Tiposdeficheros.
ExistendiferentestiposdeficherosqueLinuxidentificaconun
carcter.
Utilizaunparalosficherosregulares.
Una d para los directorios (Linux los muestra de color
azul).
Unabocparalosdispositivos.
UnalparalosenlacesSIMBLICOSoblandos.Enellosel
contenido del bloque del fichero enlace es la ruta del fi
chero enlazado, sera lo que son los accesos directos en
Windows.Secreanconln s(desymbolic).Elfichero
enlazadoguardalarutadeaccesodelficheroalqueest
enlazado,porloquesiborroestefichero,elenlazadono
valdrparanada.
Lasintaxisserlasiguiente.Sitengounarchivo,porejem
plo Notas_Trim2012, y quiero mostrarlo con un acceso
directoan012,escribo:
~$ ln s Notas_Trim2012 n012
Deestaforma,cuandohagaunls,meaparecer:
Volcarenelficheroholaelcontenidosaludo.Autom
ticamente, al estar hola y adios enlazados, saludo
tambinestarenadios.
Siahoraescribo:
~$ rm /tmp/hola
Eliminarhola,peronoeseinodo,pueselsistemadefi
cheros no libera un inodo hasta que no se han eliminado
todoslosnombresquetienereferenciado.Paraliberarese
inodohabrqueescribirtambin:
~$ rm /tmp/adios
Paraverlosmetadatosdelficheroylosnombresqueapun
tanacadainodoseutilizals l.
Montajes.
Conloquelashellnosreponder:
Organizacin.
AunqueLinuxmantienesurbolorganizadoenzonas,soncon
venios no oficiales, por lo que esta organizacin puede ser alterada
porunadministrador.Muchasaplicacionespresuponenciertascosas
del sistema de ficheros, por ejemplo, que tiene una organizacin
horizontal, ya que cada aplicacin coloca sus ficheros en directorios
UnparalosenlacesFSICOSoduros.Enlosenlacesfsi
cosunmismoinodoestreferenciadodesdedosficheros
diferentes.Losenlacessonlaformadecrearaccesosafi
cheros en diferentes lugares. Para los enlaces FSICOS se
creaunnombredeficherosqueapunteauninodoyare
ferenciado.Porejemplo,silsapuntaalinodo5,ycreo
listaquehacereferenciaaesemismoinodo,tendrun
ficherocondosnombres(enLinuxelnmerodeficheros
quehayeselnmerodeinodosexistentes).
Nosepuedencrearenlacesfsicosadirectorios.
Los enlaces se crean con el comando ln (link). Por
ejemplo,sitengoelficheros/tmp/hola,yquieroenlazar
loconunficheroqueannoexistellamadoadios,para
queadiosapuntealmismoinodoquehola,escribir:
~$ ln /tmp/hola /tmp/adios
Siejecutamosls inosdevolverelnmerodeinodo
quecorrespondeaesenombre.Ylosdosficherosaparece
rnconunfondoazul:
Siguiendoconelejemploanterior,siescribo:
27
ImplantacindeSistemasOperativos
temticos,nocomoenWindows,queseinstalatodounprogramaen
unsolodirectorio.
Losficherosseorganizanenlossiguientesdirectorios:
Permisos.
Elmodelodepermisosestansencilloquepuedequedarlimita
do;segnqucontextohabrquedarmuchasvueltasparaconseguir
loquesequiera.Normalmente,ensistemascomplejosconmltiples
usuarios, suele complementarse con otros sistemas de control de
acceso.
Tanto para ficheros como para directorios hay tres tipos de
permisos:Lectura(r),Escritura(w)yEjecucin(x);paratrestiposde
usuarios:propietario,delmismogrupodelfichero,yelresto.Aroot
seledejahacer,notieneencuentalospermisos.
Lospermisossealmacenanenunaristrade9bits,ysemues
trantraseldgitoqueindicaeltipodeficheroalhacerls l.
Ejemplo.-rwxr--r--(significaqueesunficheroregularysu
propietario puede leerlo, modificarlo y ejecutarlo, y los miem
brosdelgrupoyelrestoslopuedenleerlo.
Quimplicacionestienenlospermisosrwxenundirectorio?
r.Implicapoderleersutabladedirectorio,esdecir,poder
hacerunls.
w.Implicapodermodificarsutabla,crearoeliminarunar
chivo que est contenido en l. Si eliminas un archivo
desenlazassuentradaenlatabladeldirectorioquelocon
tiene.
x.Implicapoderaccederalainformacindelosinodos,es
decir,poderatravesareldirectorio.Porejemplo,sitengo
/dir1/dir2 y /dir2 no tiene permiso de ejecucin, no
podraccederal.
AsignacindePermisos.
Paralamodificacindelospermisosutilizamoschmod.Suele
utilizarsededosformas:
Modooctal.Menosintuitivoperomsrpido.Modificalos
9bitsalavez.Lasumadelosvaloresder(4),w(2)yx(1)
encadacategoradeusuariocambiarensuconjuntolos
permisosdeunarchivo.Porejemplo,siqueremosqueun
fichero tenga todos los permisos para todos los usuarios
escribiremos:
MscaradePermisos.
Lamscaradepermisosespecificaqupermisostieneunfiche
ro o directorio cuando es creado. Los permisos base de los ficheros
sernde666enmodooctalyrw-rw-rw-enmodotextual,yde777
para los directorios. Utilizando el comando umask siempre resta
moselvalorquepongamosalvalordelospermisosbase:
28
ImplantacindeSistemasOperativos
/etc/passwd:guardatodalainformacindelosusuarios
menos las contraseas. Es decir, guarda el nombre de
usuario,elUIDyGID,losdatosyeltipodeshell,separados
pordospuntos(:).Estainformacinnosinteresaquesea
consultadaporcualquierusuario,porloquesuspermisos
sern644.Sipongofinger usuarionosdirtodala
informacinsobrel.
Este archivo guarda una lnea por cada usuario,
enlaquesealmacenarlasiguienteinformacin:
usuario:x:1000:1002:datos:/home/usuario:/bin/bash
dondeusuarioesellogindelusuario;xhacerefe
rencia a la pertenencia o no de contrasea (sin x, no
tienecontrasea).Parabloquearunusuario,coneliminar
esax,elusuarionopodrentraralsistema.Losnmeros
de ejemplo 1000 y 1002 hacen referencia al UID y
GIDdelusuario.ElUIDesunnmeronicoqueidentifica
acadausuario.ElUIDpararootes0(cero).ElUIDseguar
daenelinodoyenelbloquedecontrol,elsistemanunca
utilizarelnombredeunusuario,sinosuUID.Sidosper
sonas tienen el mismo UID se consideran iguales; es una
formachapuceradecompartirinformacin.Siseasignael
UID0aunusuario,elsistemacreerqueesroot.
El GID es un nmero nico que identifica a tu
grupoprimario.ElGRUPOPRIMARIOeselnicogrupode
usuario que se guarda dentro de /etc/passwd; aun
que el usuario pertenezca a muchos grupos, aqu slo se
mostrar el primario. Cada grupo tiene su identificador;
queungruposeaprimarionosignificaqueseamsimpor
tante para ese usuario. Un usuario tendr que tener
siemprealmenosunGID.
/etc/group.Aquseencuentrantodoslosgruposexisten
tesenelsistema,yportantotambinestarnelrestode
gruposalosqueperteneceunusuario(ademsdelprima
rio) y que no aparecen en /etc/passwd; es decir,
parasabertodoslosgruposalosqueperteneceunusua
riohabrqueverdosficheros:
~$ cat /etc/group
~$ cat /etc/passwd
PropietarioyGrupo.
Todoslosficherosdebentenerunpropietarioyungrupo,yslo
unodeellos.Podemoscambiarelpropietarioutilizando:
Paracambiarelgruposeutilizar:
Esdecir,sialhacerunls lennuestrodirectoriohome
tenemosunalneaquedice:
Podremoscambiarelgrupoyelpropietarioarootescribiendo
(todoenunamismalnea):
Ahora,alhacerunls ltendremos:
USUARIOSYGRUPOS
USUARIOS
Estadistincinseproduceporquetodoslosprocesosdelam
quina Linux tienen que estar asociados a un usuario; dicha
informacin se almacenar en el bloque de control. Habr procesos
quesernlanzadosporelsistemasintenerusuarioshumanosasocia
dos. Por ejemplo, el sistema ejecuta los demonios, pero como todo
procesotienequeestarasociadoaunusuario,estostambintienen
queteneruno.Paraello,estosprocesoscreanunusuarioquenotiene
accesodeshell.Esteusuarionopuedeserrootyaquesifueradeesta
formatendranlospermisosderootyesoserapeligroso.
La informacin de los usuarios se almacena en tres archivos
ubicadosenlarutaabsoluta/etc:
29
ImplantacindeSistemasOperativos
DirectoriosHome.
EliminacindeunUsuario.
/# userdel r usuario
Utilizandoelmodificadorreliminamosla/homedelusuario.
GRUPOS
~$ cat /etc/group
Nosdevuelveunalistacontodoslosgrupos,suGIDylosusua
riosquepertenecenalmismo.Tenencuentaquealcrearunusuario
conuseradd,siempreaparecerungrupoquesellamedelamisma
formaqueelusuarioyquesersugrupoprimario.
Paracrearunnuevogruposeutiliza:
/# groupadd grupo
Paraeliminarlo:
/# groupdel grupo
Paramodificarelgrupodeunusuario:
ConelmodificadoraGaadoesegrupoalusuariosineliminar
los dems. Si utilizo g cambiamos el grupo primario del usuario;y
con G borramos todos los grupos a los que pertenece y slo se
quedaconelquepongamos.
Ensistemasdemilesdeusuariossesueleguardartodoestoen
unabasededatosexternaparapodergestionarlomejor.
CreacindeUsuarios.
Elsistemasiguelossiguientespasosalcrearunusuario:
Creareldirectoriodelusuarioen/home.
CalculaunnuevoUIDyGID.
Inserta dicha informacin en una nueva entrada de
/etc/passwd.
Creaunanuevacontraseacifrada.
Cambialatitularidaddelhomedelusuarioalnuevousuario.
Nosotrosutilizamoslasiguientelneadecomandosparaqueel
sistemarealicelostresprimerospasosanteriores:
Utilizamos-dparaqueubiqueeldirectoriohomedelusuario
en/home/usuario;utilizamos-mparaquecreedichodirecto
rio (si es que no existe); y -s para decirle la shell que utilizar
(poniendosurutaabsoluta).
Ahora tenemos que darle una contrasea al usuario. Para ello
utilizamoselcomandopasswd:
/# passwd usuario
/# passwd x 30 usuario
Elcomando passwdpuedeserinvocadoporelusuariocuan
doquiera,perosloserparacambiarsucontrasea.Estoesposible
gracias a que este comando tiene el permiso especial s. Cuando
hacemos:
/# chmod +s /bin/ls
30
ImplantacindeSistemasOperativos
PROCESOS
SiempresecreanconlafuncindeC,FORKyEXEC.Losproce
sos siempre se crean mediante llamadas al sistema; habr que
meterlas dentro de un cdigo que formar parte de un programa y
queasuvezformarpartedeunproceso.
Sinembargo,tienequehaberunprimerprocesoqueseacrea
domanualmenteynomedianteunallamadaalsistema.Esteprimer
procesosecrealneaalneaporelprogramadorysedenominaINIT;
es por tanto el ancestro de todos los procesos. De esta forma, INIT
siempreserelprimerprocesodelsistema(conunPID1).
DiferenciaentreExecyFork.
Exec.Cuandoarrancamosunprocesoconexeclepasamos
lasrutasqueseencuentranenPATHparaqueencuentre
el cdigo objeto que queremos ejecutar. Entonces exec
llamaalsistemayesperasurespuesta.Porejemplo,cuan
do ejecutamos ls, encuentra su cdigo en /bin/ls y
bashllamaaexecparacrearelproceso.
Fork. Creacin por particin. El proceso se ejecuta y fork
hace la llamada al sistema. Fork crear un proceso igual
queelprocesopadrequeseejecutarentiempocompar
tido.Esunaformadeclonarunproceso,queejecutarel
procesoclonadoapartirdelallamadafork(elPIDdecada
unodelosprocesosserdiferente).
MonitorizarProcesos.
Paraverlosprocesosqueseestnejecutandoenesaconsolase
suele utilizar el comando ps. Esta orden tiene varios modificadores
a, u, x, que se pueden utilizar en combinacin (en cualquier
orden) y que adems no irn precedidos por el signo -. Para ver
todoslosprocesosdelsistema:
~$ ps aux
Existenalgunasalternativasaps,comotop,queescomando
que permanece bloqueado en la pantalla y que nos va a mostrar la
informacin en tiempo real, viendo cmo funcionan los procesos y
cmo varan. Adems, pstree es un script que sacar por pantalla
losprocesosunidosmedianteunalneadeparentesco,mostrandolos
linajesdelosprocesosquehayejecutndoseenelsistema.
FinalizarProcesos.
Utilizamoselcomandokillparaenviarunasealalproceso;
elmodificadorqueutilizaremosparaacabarconelprocesoser9.
Aunque el propietario deun procesopuede acabar con los procesos
quehayalanzado,slorootpuedeacabarconcualquierproceso:
PrimerySegundoPlano.
Por defectolosprocesosseejecutanenprimerplano.Cuando
execlanzaunproceso,bashhacequeeseprocesohijotomeelcontrol
de la entrada ysalida estndar. Por ejemplo, si ejecutamossort,
hasta que no acabe, bash no volver a mostrar el prompt. Si por el
contrario, queremos seguir comunicndonos con bash mientras un
proceso se est ejecutando, tenemos que hacer que ese proceso
activo pase a ejecutarse en segundo plano. Para ello, lo nico que
tenemosquehaceresescribiralfinaldelcomandoqueejecutemosel
carcter&.Porejemplo:
Una vez hecho esto, ese proceso ocupar toda la shell, por lo
que si queremos volver a tener acceso al prompt tendremos que
utilizar la combinacin de teclas ctrl+z, para detener el proceso.
Entonces podremos volver a interactuar con la shell y podremos
enviaralprocesoasegundoplanodelasiguientemanera:
31
ImplantacindeSistemasOperativos
16. Enfuncindesuruta,qupuedesdecirdeunficheroque
se encuentre en los siguientes directorios? /bin; /usr/bin;
/opt;/sbin;/dev;/home/Sergio/bin;/var.
17. DescribebrevementeelmodelodepermisosdeLinux.
18. Deseamosqueal crear nuevosusuariosles aparezcaun fi
chero llamado bienvenido.txt en la raz de su directorio
/home.Cmoconseguirlo?
19. Tiene sentido tener un UID repetido en elsistema? Qu
consecuenciastendra?ysieselUID0?
20. Describe los pasos que hemos dedar para crear un nuevo
usuarioenelsistema.
21. Describebrevementeelmodelo de procesos de Linuxysu
procesodecreacin.
22. Parecequeunprocesonoresponde,cmoactas?
23. QueselprocesoInit?
24. Cmopodemosejecutarunprocesoensegundoplano?
25. Quesunprocesozombie?Yunohurfano?
26. Quieroqueelsistemamesaludecadavezquemeconecto
alsistemaconunmensajedeltipoBienvenido!Cmolo
consigues?
PREGUNTAS.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
32
TemaSeis
LinuxII
AdministracinAvanzada
Mostrar,delas10primeraslneas(head)delarchivo,aquellas
quetenganesepatrn.Siquieroqueesepatrnseencuentrealfinal
delalnea,escribo:
ArgumentosdeGrep.
Losargumentossepuedenconcatenar.
-i(insensitive).Buscamaysculasyminsculas.
-w(word).Slobuscapalabrassueltas,esdecir,sipongo:
Buscarlapalabraparadentrodeesearchivo,ynuncala
encontrarenpalabrasenlasqueesepatrnestconte
nido,comoparaguas.
-v(reVerse).Invierteelsentidodelacoincidencia,esde
cir,muestratodoloquenotengaesepatrn.
BSQUEDADELAINFORMACIN
INTRODUCCIN
Dentrodeungransistemaesnecesariocontarconsistemasde
bsqueda de informacin. Para ello utilizaremos comandospotentes
quenospermitirnbuscartantoficheros,comosucontenidoocomo
lainformacinqueestrecopiladaensusmetadatos.
Hoydalossistemasdeficherosfuncionandemanerapotente,
de forma quenicamentecon introducirciertaspistas, tedevuelven
unalistarelacionada.Algunosejemplospodransertracker,spotlight,
etc.
Vamosautilizarlasherramientasmsbsicasycompatiblescon
todoslosUnix:grepyfind.
GREP
Buscainformacindentrodeunficheroopathline.Nosdevuel
ve las lneas completas que coinciden con ese patrn de bsqueda.
Grep necesita una expresin regular, como las que se vieron ante
riormente(*,?),ylassiguientes:
^.Elacentocircunflejoserefierealprincipiodelnea.
$.Referidoalfindelnea.
Deestaformabuscaresepatrndentrodeesearchivo.Sipor
ejemploescribo:
Asbuscartodaslaslneasqueempiecenporesepatrnden
trodeesearchivo.Siporelcontrarioescribo:
33
ImplantacindeSistemasOperativos
/# cat n /ruta/fichero
Atencin,muchocuidadoconlostabuladores;greppuedein
terpretar el tabulador de un archivo de texto como 8 espacios.
Cuandoescribamosgrep,agruparemoselargumentoconcomillas.
FIND
Reglas.
Aunquehaymuchasreglas,lasquevamosaversonlassiguien
tes,aunquepuedesconsultarlastodasenelmanual(man find).
-name.Buscaarchivoscuyonombrecoincidaconelvalor.
Por ejemplo, si queremos que encuentre todos aquellos
archivosquecomiencenporAmayscula:
-ctime.Archivoscreadoshacetantosdascomoindique
elvalor.Porejemplo:
Enestecasomostraraquellosficheroscreadoshaceme
nosdetresdasyqueseencuentren/ruta.
-type.Encuentralosarchivosdeesetipo,b(bloques),c
(carcter),d(directorio),f(file,regular),l(enlacesimbli
co).Porejemplo:
Nosencontrareneldirectoriodondenosencontremos
loslosarchivosquetengapermisodemodificacinen
cualquieradesuspermisos.
Nosencontrartodoslosficherosquepuedansermodifi
cadosoporelpropietariooporlosmiembrosdelgrupoo
porlosdos.Perosiescribo:
Sloencontrarlosficherosquetenganpermisosdemodi
ficacintantoelpropietariocomolosmiembrosdelgrupo.
Dentrode{},bashsustituirloquehaencontradofind.
Unusoprcticode/dev/nullconfind,seraredirigirlela
salidadeerroralhacerunfindcomousuario,yaquenotendremos
permisosparabuscarenmuchosdirectorios.Porejemplo,siescribo:
Ademsdetirarseunbuenratomostrandoporpantallatodoel
espaciodenombres(parafinalizarelprocesopulsarctrl+c),alter
minartendremosunficheroen/home/alumnollamadoerrory
quecontendrlneasdeerror,deltipo:
34
ImplantacindeSistemasOperativos
Loqueharsermostrartetodaslaslneasdeentradamenosla
nmero10.Tenencuentaquenoborradichalnea,sinoquesimple
mente no la muestra. Para borrar esa lnea lo que podremos hacer
serredireccionarlasalidaaunnuevoarchivo,dondedichalneano
aparecer(noquedargrabada),esdecir:
Atencin,sileemosdeunficheroyredireccionamoslasalidaa
ese mismo fichero, perderemos toda la informacin contenida en el
mismo.Sermejornoescribiresto:
ModificarLneas.
AWK
Awkcomprobarparacadalneasisecumplelaexpresin,y
despus ejecutar la accin (dicha expresin y accin podrn
sermuycomplejas).Lasaccionessesepararnporcomas(,)queal
mostrarlas en pantalla las sustituir por el delimitador estndar, es
decir,unespacio).Tenencuentaqueawkpodrutilizarlossiguientes
caracteresensusexpresiones:
>
mayorque
<
menorque
>=
mayoroigualque
<=
menoroigualque
Siesainformacinnoqueremosquequedeincluidaennuestro
ficherofileclean,podremoshacerquelavuelquea/dev/null,
escribiendo:
TRATAMIENTODELAINFORMACIN
Aunquepodemosmodificararchivosconuneditor,latarease
convierteenalgotediosocuandosetratademltiplesarchivos.Para
ello, podemos buscar informacin con grep y find y aprovechar
pararealizarmodificacionesautomticasaarchivosdeformamasiva.
EnUnixseutilizandeformatradicionaldosprocesos,muypo
tentesycomplejos:
sed.
awk.
SED
Esuneditordeflujo,ynoesinteractivo(comonano).LaED
vienedeeditor.Essimilaragrepyaquerecibelneasporsuentra
da, tambin recibe un patrn y expulsa la entrada en funcin de
aquel, pero mientras que sed modifica los patrones, grep slo los
busca.Esdecir,cuandosedleedesuentrada(unatubera,unfiche
ro,),aplicarsusmodificadoresycolocarelresultadomodificado
ensusalida.
Podremosomitirlaentradaoespecificarla:
ImprimirLneas.
Paraimprimirlneasutilizamoslaletrap (print).Siescribo:
Imprimirsololalnea10dearchive.
BorrarLneas.
Paraborrarlneasutilizamoslaletrad(delete).Porejemplo,al
escribir:
35
ImplantacindeSistemasOperativos
==
!=
&&
||
igualque
distintoque
y
o
Madrid
ES
31
Barcelona ES
25
Londres
UK
19
Berln
DE
12
Sevilla
ES
36
Awkpodrreferirsealacolumnadondeestnescritaslasciu
dades con $1, a la columna donde estn escritas las
nacionalidadescon$2,yalacolumnadelastemperaturascon
$3.Porlotantosiqueremosquenossaqueporpantallatodas
lasciudadesconunatemperaturasuperiora30grados,escribi
remos:
Indicndolequedelacolumnatres($3)seleccionelosnmeros
mayores de 30 y que nos muestre la lnea de la columna uno
($1)quecoincidaconesevalor.
Si queremos que nos imprima las ciudades cuya nacionali
dadseaespaola:
Indicndolequedelacolumnadosseleccioneaquellosvalores
igualesaES,yquenosmuestrelalneadelacolumnaunoque
coincidanconesevalor.
Siqueremosquenosimprimalasciudadesdenacionalidad
distintaalaespaolayconunatemperaturasuperioralos15
grados:
Indicndolequedelacolumnadosylatresseleccionen aque
llosvaloresdistintosaESyconunatemperaturade15grados,y
quenosmuestrelalneadelacolumnaunoquecoincidancon
esosdosvalores.
Tambin podremos hacer que lea los datos de entrada de
unatubera,porejemplo:
ADMINISTRACINDEPROCESOS
GESTINAVANZADA
Elobjetivoseraprenderaprogramarprocesosparaquearran
quen automticamente. Para ello vamos a conocer los niveles de
ejecucinyelarranqueprogramado(cadaciertotiempo)deprocesos.
Estossernpuntosfundamentalesparacadaadministrador.
Una vez se logre aprender a programar las tareas, habr que
aprenderaescribirlas(haciendoscripts).
NivelesdeEjecucin.
LosnivelesdeejecucinsonpropiosdemquinasUnixSYSTEM
V(elhijomspurodeUnixensuladoopuestoestaraBSD).
ComoLinuxdesciendedeMinix,ystedeUnix,seconsideraun
SYSTEMV.Noobstante,estonofuncionaenlasdistribucionesUbuntu
y Devian actuales, aunque existir algo parecido. Ubuntu agiliz y
modifictodoesto,mejorandoelarranqueyprocesadodelamqui
na.
Losnivelesdeejecucin(normalmente7,del0al6)sonmodos
de operacin (llamados run levels) que describen mecanismos de
automatizacin de parada y arranque de procesos cuando se inician
los run levels (ten en cuentaquepara pasar al nivel 4no habr que
pasarlosanteriores).
Esdecir,cuandosepasaaunnuevomodohabrunaseriede
procesos que arrancarn y otros que morirn con ellos. El nivel por
defectoseencuentraen/etc/inittab.Porejemplo,cuandola
mquina arranca pasa a un run levelconcreto, arrancando todos los
procesosquehayacontenidosendichonivel(servidorweb,demonio
debackup,etc.).Porseguirponiendoejemplos,sinuestrosistemade
copiasderespaldoconsumemuchosrecursosytienequeejecutarse
en solitario, podramos describir un nivel que arrancara todos los
procesosvinculadosconelbackupymataraatodoslosdems.
Cadanivelsedescribeenlosdirectorios/etc/rcX.d,don
delaXnosindicaelniveldelrunlevel.
X=0
Niveldeapagadodelamquina.
X=1
Nivelmonousuario(root).Pruebadeerrores.
36
ImplantacindeSistemasOperativos
Siqueremosprogramarlosprocesosparaqueseanlanzadosen
cualquiermomento,tenemosdosherramientasparahacerlo:
cron Programaprocesosparalanzarseperidicamente.
at
Programa procesos para lanzarse en un momento
concreto.
Cron.
Permiteprogramarprocesosparaserlanzadosperidicamente
(cadasemana,cadames,cadahora,etc.).Eslanzadoporundemonio
llamado crond (es decir, para que funcione, el demonio tiene que
estarejecutndose)yleelainformacindeunficheropersonal(aun
queseapersonalnosealmacenaennuestrahome,sinoen/var)
llamadocrontab.
Para acceder a nuestro crontab, accederemos a nuestro script
crontab.Siutilizamoscrontab lnosmostrarlastareasprogra
madas (como si hiciramos un cat); si usamos crontab e
podremoseditarlo(comosihiciramosunnano).
Cada lnea tiene cinco dgitos separados por espacios; cada l
nea corresponde a una programacin distinta y tiene un formato
diferente:
Losvaloresparacadacamposon:
minutos:
059
horas:
023
das:
131
meses:
112
dasdelasemana: 06(0=domingo)
Adems,podremosponerlossiguientescaracteresenloscampos:
*
cualquiervalor.
-
indicaunrangodevalores.
,
parasepararunaseriedevalores.
Ten en cuenta que aunque haya varios usuarios conectados a
variasshells,losprocesosdeunashellnoafectanalaotra.
Lasalidapordefectodecroneshaciaelinboxdelcorreodel
usuario,porloquehabrqueredireccionarla.
Ejemplo.Paracadalneadeabajo,lossiguientesperiodos:
Cada15minutosdecadahora,todosloslunesdecadames
Alas13horas,elquincedecadames
Alas13horas,elquincequeseadeLVdecadames
Primerlunesdecadamesalas0:00
Cada8horasdelunesaviernes
Cada12horas,loslunesymircolesenlosmesesestivales
/# crontab e
X=[2-5]Nivelesdeusodelsistema.Sonnivelesestndar
parasermodificadoscomosedesee.
X=6
Niveldereiniciodelamquina.
/etc/rc1.d# ls
K15pulseaudio
K20rsync
Comoconsecuencia,elrunlevel0tendrcasitodosscriptsK.
ArranqueProgramadodeProcesos.
Paraarrancarprocesosaliniciooalapagadodelsistemautilizare
moslosscriptrc.Estosscriptssegeneranapartirdeuncomandollamado
update-rc.d, que crea las estructuras de los scripts contenidos en
etc/rcX.d a partir de los scripts contenidos en /etc/init.d.
DentrodeestedirectorioseencuentranlosscriptsinSoKysinnmero,y
con esos scripts podremos controlar el arranque y parada de todos los
demonios. Por ejemplo, /etc/init.d/apache podr invocar el
scriptgeneraldecontroldeapacheparadetenerlo,apagarlo,reiniciarloo
iniciarlo.
Es decir, init.d es un directorio que guarda los scripts de
controlyfuncionacomounpaneldecontroldedemoniosyservicios
en general. A travs de los scripts contenidos en dicho directorio,
podremos controlar por completo todos los procesos asociados a
dichodemonio.Estedirectorioestestrechamentevinculadoalosrun
levels,porloquenoseraconvenienteubicarlosscriptsdeinit.d
enotrolugar.
Unavezconocidoesto,podremosejecutarupdate-rc.dpa
ra que cree de forma automtica los scripts K o S a partir de los
scriptscontenidoseninit.d.Porejemplo:
Estecomandoarrancareldemoniodecronenlosniveles2,
3,4y5lopararenlosniveles0,1y6.Porcitardos,crearenelrun
level 2 (directorio etc/rc2.d) el script S2cron y en run level 0
(directorio etc/rc0.d) elscript K2cron.Fjateenlospuntosque
vantraslosnmerosdestartylosnmerosdestop.
Paraquelohagasolo,escribiremos:
Siqueremosprogramarloaliniciodeunasesindeunusuario
bastarconinvocarloenel.bash_profile,escribiendoinit 2.
37
ImplantacindeSistemasOperativos
MIN
15
00
00
00
00
00
At.
HOR
*
13
13
0
0,8,16
0,12
DA
*
15
15
1-7
*
*
MES
*
*
*
*
*
6-9
DA-SEM
1
*
1-5
1
1-5
1,3
LOGS.
LogsdelSistema.
syslogd:quegestionaloslogsdelsistema.
klogd:quegestionaloslogsdelkernel.
/var/log/messagesSoneventosdeprioridadmedia.
/var/log/auth.logInformansobrelosaccesosalsis
tema,escaladodeprivilegiosyaccesosfallidos.
/var/log/dmesgEventosproducidosduranteelarran
que(comandodmesg).
Estosarchivospuedencrecerhastatenergrantamao.
Logrotate.
Elscriptlogrotateeselencargadodesuarchivado.Sucon
figuracinesten/etc/logrotate.confyestconfiguradoen
el crontab de root. Logrotate crea peridicamente archivos com
primidosconlasextensiones*.1.gz,*.2.gz,etc.Adems,trunca
a cero el archivo log correspondiente. Cuanto mayor sea el nmero,
msantiguoserelarchivo.
Logger.
Conestecomandopodremosgenerarnuestrospropioseventos
yregistrarlosenloslogs.Suusoesmuysencillo:
COMANDOS.
Algunoscomandosbsicosson:
last (permiteconsultarlosltimosaccesos)
Permiteprogramarprocesosparaserlanzadosdemanerapun
tual. El lanzador es un demonio llamado atd (es decir, para que
funcione,eldemoniotienequeestarejecutndose)yleelosprocesos
delaentradaestndar.
Lasintaxisescomosigue:
/# at hora:min da.mes.ao
-l
Listalastareas.
-d
Borraunatarea.
-f
Leelastareasdesdeunficheroenlugardelaen
tradaestndar.
Sihaydostareasenejecucin(laXylaY),yquieroeliminarlaY,
tendrqueescribir:
/# at l
1 tarea X
2 tarea Y
/# at d 2
atlanzarlashellshqueserlaqueleernuestrosprocesosy
losejecutar.Estosignificaquesiutilizamoscomandosinternosdela
shellbash,nofuncionarn,yaqueatejecutarelscriptmediantesh.
Porejemplo,siquierolanzarelcomando/bin/tareael12de
junioalas18:30de2012,escribir:
AUDITORAS
AUDITARELSISTEMA
38
Logs.
Comandos.
Scriptpropios.
Herramientasespecializadas.
ImplantacindeSistemasOperativos
who(listadeusuariosconectadosahora)
finger(aportainformacinsobreunusuario)
Siempreesconvenientecontarconherramientaespecializadas
demonitorizacinyauditoras.
~$ export PATH="$PATH:~/scripts"
Comentarios.
Todoaquelloquevayadespusdelsmboloalmohadilla(#),se
rignoradoporbashysloservisiblecuandoseediteelcontenido
delscript.Deestaformapodremosintroducirtododetipodecomen
tarios y aclaraciones sobre nuestro script. Podremos introducir
comentariosenunamismalneadecdigo,porejemplo:
Losscriptsdeinit,porejemplo,eneldirectorioinit.d,suelen
estarbiencomentadosyaquetienenqueserentendidosytienenque
podersereditadosporcualquieraqueutiliceLinux.
MododePrueba.
Podemosejecutarlosscriptsparaquelohaganenpruebadefa
llos.Lonormalserescribir:
~$ bash x script_ejemplo
Loquenosirmostrandocadalneadelscriptprecedidadeun
smbolo+,yejecutndolaacontinuacin,esdecir:
set x
# activa el modo de prueba
echo Hola, $USER!
set +x
# desactvalo
IntroducirDatos.
/# read VARIABLE
PROGRAMACINDELASHELL
SCRIPTS
Unscriptdelashellesunasecuenciadecomandosqueseeje
cutarn al introducir el nombre del script en la lnea de comandos.
Sonficherosderdenes.Comotales,sonficherosdetextoplano;las
rdenes incluidas en ellos las lee un intrprete. En nuestro caso, la
shell de Unix se utilizar como un intrprete de nuestros scripts.
Alternativamente,podrsutilizarscriptspararealizartareasautom
ticasusandoelcomando cron.Otrosusos paralos scripts serpara
losprocedimientosdeapagadoyarrancadodelamquina,dondelas
operacionesde losdemonios ylosserviciosse definenenlosscripts
deinit.
Paracrearunscriptdeshell,abreunnuevoficherovacoconun
editor(vim,emacs,gedit,dtpad,nano,etc.).Loseditoresvimoemacs
pueden ser configurados para reconocer la sintaxis de bash, lo que
puedeserdegranayudasisenosolvidaponercorchetesopuntosy
comas.Pararesaltarloserroresdeescrituraenvim,podremosescribir
(:syntax enable),quesiemprenosaparecersilointroducimosen
nuestroarchivo.vimrc
Unavezabiertoeleditor,ponloscomandosdeLinuxquequie
rasensuinterior,comosilosestuvierasintroduciendoenlalneade
comandos. En un script, la primera lnea comienza con la ruta del
intrprete,comenzandoporloscaracteres#!.Porejemplo:
#! /bin/bash
Elintrpretesecargarenmemoriayselepasarelficherode
rdenes para que las procese. A partir de la cabecera se escriben
todaslasrdenessiguiendolasintaxisdelintrprete.
Daleatuscriptunnombrequeestrelacionadodealgunama
nera con su funcin, y asegrate de que no entra en conflicto con
ninguna de los rdenes que ya existan. Para asegurarse de que no
hayaningunaconfusin,losnombresdelosscriptssuelenterminaren
.sh; aunque podra ser que incluso de esta forma se repitan los
nombres.Paraaclarartodoestopodremosutilizarloscomandos:
/# wich -a script_ejemplo
/# whereis script_ejemplo
Obienutilizandoargumentosenlallamada.Sihagounscriptllamado
pruebaconlasiguienteestructura:
#! /bin/bash
echo $1 $2
/# locate script_ejemplo
Todoscriptdebetenerpermisosdeejecucin,yparaejecutarse
tendrqueescribirsesurutaabsoluta,relativaoincluirsurutaenla
39
ImplantacindeSistemasOperativos
~/trabajos$ ls *.pdf
Iso1.pdf Iso2.pdf
Hardware.pdf
Condicionales.
Podemosutilizarinstruccionesdeseleccindeltipoifthenelse;
siguiendoestaestructura:
If [ condicin ]
then
instrucciones
else
instrucciones
fi
Sisecumplelacondicinseejecutarnlasinstruccionesdentro
dethen,ysinosecumple,seejecutarnlasinstruccionesconteni
das en else. En las condiciones podemos introducir operadores
numricos: lt(lower than), eq(equal), nq(not equal), gt(greater
than);operadoresparacadenas:==(igual),!=(distinto);uoperadores
lgicos:a(and),o(or),!(not).
Podremos utilizar operadores unarios: (f ficheros, d directo
rios, r permiso de lectura, w permiso de escritura, x permiso de
ejecucin). Por ejemplo, si queremos saber si existe el archivo de
mensajeslocalizadoen/var/log,escribiremos:
#!/bin/bash
InstruccionesdeIteracin.
Estasinstruccionessondeltipoforeach.Ejecutarnunalistade
comandosporcadavalorenlalista.
~/trabajos$ ./for1
Realizando copias de seguridad...
Iso1.pdf ---> copiado a Iso1.pdf.bak
Iso2.pdf ---> copiado a Iso2.pdf.bak
Hardware.pdf ---> copiado a Hardware.pdf.bak
Se han realizado las copias
~/trabajos$ ls *.pdf*
Iso1.pdf
Iso2.pdf
Hardware.pdf
Iso1.pdf.bak Iso2.pdf.bak Hardware.pdf.bak
40
ImplantacindeSistemasOperativos
~$ bash x for1
3.
4.
5.
PREGUNTAS.
1.
2.
Diferenciasentregrepyfind.
Creaunarchivoconnombresdealumnosyciclos.
a. Mostrarlosnombresdelosalumnosqueempie
cenporp.
b. MostrartodoslosalumnosdelcicloASIR.
c. Separartresficherosconalumnosdecadaciclo.
d. Hacer nuevos ficheros ordenados alfabticamen
te.
e. MuestratodoslosalumnosquesellamenPepe
delostresciclos(ASIR,DAW,SMR).
6.
7.
8.
BIBLIOGRAFA.
Garrels,M.BashGuideforBeginners.Version1.11.
41
Diferenciasentregrepysed.
Qufuncionesdesedhemosestudiado?Ponejemplos.
Enquconsisteunrunlevelycmopodemosdeterminarlo
queseejecuta,ono,alpasaresenivel.
Describecmofuncionaelpasodeunrunlevelaotro.
Paraqueseusael/etc/init.d.
Diferenciasentrecronyat;definesufuncionamientobsi
co.
TemaSiete
LinuxIII
AdministracinenRed
ASIGNACINDEPUERTADEENLACEYENROUTAMIENTO
Paraello,utilizaremoselcomandoroute,quesirveparamodi
ficarlatabladerutasdenuestramquina.Cualquiermquinanecesita
dosrutaspordefecto:unadeentradayotradesalida.
Ahora slo tenemos la ruta de entrada (la introducida con
ifconfig),yparaverlapodemosescribir:
/# route -n
192.168.5.120
0.0.0.0
255.255.0.0
eth2
Esarutaqueaparecesehacreadoalconfigurarelinterfazcon
ifconfig.Tendremosqueaadirunarutahacianuestrapuertade
enlace (gateway gw) que nos comunique con la red por defecto
0.0.0.0 (Internet). La direccin de la puerta de enlace es conocida y
noslatienenquesuministrar;ennuestrocasoser192.168.5.254:
/# route -n
192.168.5.120 0.0.0.0
255.255.0.0 eth2
0.0.0.0
192.168.5.254 0.0.0.0
eth2
/# ping 192.168.5.254
CONFIGURACINDELARED
Antesdenadaconfiguralatarjetadereddetumquinavirtual
comobridge,segnsedijoenelTemaTres(pgina15):Cadamqui
na virtual tendr un identificador IP independiente; habr que
configurarcadaunadeellascomosifueraunamquinanueva.
ASIGNACINDEDIRECCINIPYMSCARADERED
Tradicionalmenteseutilizaelcomando ifconfig.Cuandolo
introducimosenlaconsola,nosmuestralaconfiguracindelasdife
rentes interfaces de red existentes. Habr dos epgrafes principales,
unoethX(dondeXpuedesercualquiernmero),yelotrolo;ethX
harreferenciaalpuertoEthernetysunmero(X),dondeaparecern
descritaslascaractersticasdenuestratarjetadered;ylo,sereferir
aladireccinloopback,127.0.0.1.Estadireccinderedesigualpara
todas las mquinas (adems, no existe rango de red para ella), y la
utilizanparacomunicarseconsigomismas.
Adems,con ifconfigpodremoseditarlasconfiguraciones
delastarjetasdered,aunquehoydaexistencientosdeaplicaciones
grficassobrecualquierescritorioquenospermitirnconfigurarlosin
recurriralaconsoladecomandos.
Primerotendremosqueasignarladireccinylamscaradered
denuestro equipo anuestra tarjeta. El valor de ethX visto al hacer
ifconfig ser necesario ahora. Por ejemplo, si nuestra red es la
192.168.5.0/16(claseB),ydecidimosescogerlaIP120,escribiremos:
Ahorayatenemosintroducidosestosvaloresyelpuertoestabier
toyesoperativo.Siqueremosdeshabilitarelpuertointroducimos:
/# ifconfig eth2 up
Ynosaparecernlneascomoladearriba,donde:
icmp_seq=1hacereferenciaalInternetControlMessage
Protocol (ICMP), un subprotocolo de control y notifica
cin de errores del Internet Protocol (IP), y al nmero de
42
ImplantacindeSistemasOperativos
Todossebasanenunprogramaclienteyenundemonioejecu
tadoenlamquinaobjeto.
Telnet.
Esunprotocolodecomunicacinquepermiteabrirunashellen
unamquinaremota.Todalainformacinvasincifrar.Elclienteque
utilizaestelnetyeldemoniosellamatelnetd.Esrecomendable
noutilizaresteprotocolosiendoroot.
Laformadeusarloes(sueleutilizarseelpuertoel23):
Porejemplo:
~$ telnet 192.168.5.130
SSH(SecureSHell).
Abrirunashellenunamquinaremota(similaratelnet).
Transferirficheros.
Realizarconexionescifradasparaotrosyencapsularproto
colos(sshtunneling).
Losargumentosprincipalesson:
-lUsodeunusuariodiferenteenlaconexinremota.
-p Usodeunpuertodiferenteenelservidor
SSHAbrirunaShellenunamquinaremota.
SiguiendoconelejemploutilizadoenConfiguracindelaRed,
imagina que tenemos un ordenador ms conectado a nuestra red,
cuyadireccines192.168.5.130.Imaginatambinqueendichoorde
nador existe un usuario que tiene el mismo nombre que el que
nosotrosestamosutilizando,esdecir,siheingresadocomoalumno
yquieroconectarmeaesaotramquina,tendrquehacerlotambin
como alumno (por tanto, alumno tiene que existir como cuenta
ASIGNACINDESERVIDORESDNS
nameserver
8.8.8.8
nameserver
8.8.4.4
ASIGNACINDEFICHEROSDENOMBRESLOCALES
Enlasredespequeasoprivadaspodemosnodisponerdeser
vidores DNS. Podemos evitar el uso de direcciones IP y utilizar
nombres de mquinas. Slo tendremos que escribir la relacin de
direccionesIPysusnombresen/etc/hosts.
GESTINREMOTADEEQUIPOS
telnet
rlogin
ssh
43
ImplantacindeSistemasOperativos
deusuarioenlamquinaremota).Paraabrirunashellenesamqui
natendremosqueescribir:
Ahoranospedirconfirmacindeconexinyluegonospedir
lacontraseadealumno(siemprequequierasabrirunashell
enotramquinatendrsqueconocerlacontraseadelusuario
conelquenosconectemos).
Unavezestablecidalaconexin,estaremosenelhomede
alumno de la mquina a la que nos hemos conectado. Para
salirdelashell,habrqueescribirexit.
Siporelcontrarioelusuarioalumnonoexisteenlamquina
a la que nos vamos a conectar, sino que existe el usuario Peter,
tendremosqueutilizar el argumento l(yconocer la contrasea de
Peterparaabrirunashellensumquina).Escribiremos:
TrasconfirmarlaconexineintroducirlacontraseadePeter,
habremosabiertounashellenesamquinayelpromptserde
estaforma:
Peter@mvirtual:~$_
SSHTransferenciadeFicheros.
OTROSCOMANDOS
ping.
mtr.
Realizauntrazadodelarutadeconexin,combinaloscoman
dos ping y traceroute. Dado un destino de la conexin, ofrece
datos sobre cada salto (router) cruzado por los paquetes hasta el
destino. Cada salto es sondeado utilizando ping. Este comando es
muy til para testear instalaciones de red complejas, con varios
routersyportanto,variassubredes.
netstat.
Permitemonitorizarlalistayelestadodelasconexionesdeuna
mquina. Adems, tambin muestra otros aspectos de la configura
cin de red (ip, tabla de rutas, etc.). netstat utiliza los siguientes
argumentos:
tmuestralasconexionesTCP.
-lmuestralasconexionesenmodoescucha(servicios).
-smuestralasestadsticas.
nmap.
Esunapotenteherramientadeanlisisderedesymquinas.Es
complejademanejar,sobretodoenmodoconsola.Existeninterfaces
grficas para su uso, como Zenmap. Es fundamental para cualquier
administrador de servidores y redes. Para su uso se puede visitar:
http://www.insecure.org
Aunquetienemuchosusos,algunosdeellos:
Rastreodemquinasactivasenunaredquecumplancier
tascaractersticas.
Descubrimientodeservicios.
Descubrimientodeltipodesistemaoperativo,versin,etc.
deunamquina(fingerprinting).
Descubrimientodelhardwaredereddeunamquinaom
quinas.
Pararecogerficherosdeunamquinaremota:
~$ scp usuario@mquina:/ruta/destino /ruta/local
Porejemplo,siquierorecogerelresumendeISO(IsoR.pdf)de
laotramquinaconectadaamired:
44
ImplantacindeSistemasOperativos
nc(Netcat).
Netcatvaleparatodo.Suideaesmuybsica:crearunsocketo
conexinTCP/IPencrudoentreunclienteyundestino.Seutilizapara
muchos objetivos: depurar aplicaciones, comprobar el estado de un
servicio,usoremotodescripts,etc.
Porejemplo,sepuedeutilizarpara:
Chatparados:Podemosarrancarunnccomoservidor:
~$ nc l p 2323
Nosconectamosalenotramquina:
~$ nc mquina-servidor 2323
Consolaremota:Creamosunservidorenelpuerto2323.
~$ nc l p 2323 e /bin/bash
Nosconectamosaella:
~$ nc mquina-servidor 2323
FTP
Esunprotocolodetransferenciadeficheros,normalmenteuti
liza el cliente ftp y el demonio ftpd. Existen muchos clientes con
interfazgrfica.Seinstalautilizandoelcomandoapt-getosimilar.
45
TemaOcho
WindowsServer2008
GestinLocal
PREPARACINDELENTORNOFSICO
Paraellonovaleunasalacualquiera.Paraqueelservidorest
en condiciones ptimas y est en funcionamiento 24x7 habr que
tenerencuentaunaseriedecuestionesparapodertomarlasmedidas
adecuadas. Habr que proteger el sistema del calor, del agua y del
fuego, de los ruidos elctricos y de la electricidad esttica, de los
cortesdecorriente,yregularyprotegerelaccesofsico
INTRODUCCIN
QUESUNSERVIDOR?
Unservidoresunamquinaqueejecutaprocesosservidoreso
servicios. Ya que a priori no se necesita ninguna cualidad especial,
cualquiermquinapodrafuncionarcomounservidor.
Caractersticas.
Disponibilidaddeservicios24x7.
Seguridad.
Altorendimiento(tantosoftwarecomohardware).
QUESUNSERVICIO?
Unservicioesunprocesoqueatiendepeticionesdeotrospro
cesosllamadosclientes,procesndolasyenviandounarespuesta.
Losserviciospuedenrequerirgrandesrecursoshardware,yhay
cientosdetiposdistintos:correo,ficheros,web,autenticacin,
WINDOWS2008.ANTECEDENTES
FueanunciadoporMicrosoftenmayode2007.Aunqueelker
nel estaba basado en su predecesor, Windows 2003 Server, sali
habiendosufridocambiossignificativos,siguiendolaramadedesarro
llo iniciada con Windows NT. Est orientado a servidores y pensado
paraoptimizarsusrequerimientos.
INSTALACINYARRANQUE
46
ImplantacindeSistemasOperativos
Contarcontodasestasmedidasesalgocaro,porloquemontar
unCPDnosloimplicacomprarseunamquinaeinstalarunsistema
operativo. Este hecho hace que la alternativa de la virtualizacin
(TemaTres)seaalgodignoatenerencuentaeconmicamente,aun
que externalizar las necesidades del CPD, inevitablemente implicar
externalizarlainformacindetupropiaempresa.
MONTAJEHARDWAREDELAMQUINA
INSTALACINDELSISTEMASOFTWARE
WebEdition.
StandardEdition.
EnterpriseEdition.
DatacenterEdition.
Iniciodelinstalador.
Aceptarlostrminosdelalicencia.
Particionaryformateareldisco.
Copiarlosarchivosylibreras.
InstalacinenModoDesatendido.
Permitelainstalacinsincontestarpreguntas,porloquesetra
tadeunmododeinstalacinnointeractivo.Nosserdeutilidadsise
tienequerepetirlainstalacinenmltiplesequipos.Sebasaenintro
duciralinstaladorunficheroconlasrespuestasatodaslaspreguntas
quenosharduranteelprocesodeinstalacin,estructuradosiguien
dounesquemadeetiquetasenXML.Paraello,habrqueincluirdicho
ficheroenelpropioCD.
Elficheropodrgenerarsemanualmentedesdecualquiereditor
detexto,obienusandounprogramallamadoWindowsSystemIma
geManager(lomsrecomendable),queaunquenoformapartedela
instalacin bsica, se encuentra en la base de datos de Microsoft
llamadaTECHNET(dondeseencuentratodalainformacinparaque
cualquieradministradorresuelvasusdudas)ysulicenciaesgratuita.
HayotrabasededatosparadesarrolladoresllamadaMSDN,dondese
encuentra toda la informacin til para poder programar cosas para
Microsoft.
Si las mquinas donde se quiere instalar el sistema operativo
tienenhardwaremuydistinto,sermsrecomendableinstalarloas.
MtododeClonacin.
Para ello habr que crear una maqueta (una imagen de ese
equipo)enunsoportedealmacenamientoajeno.As,tendremosuna
copia byte a byte de lo que contiene ese equipo. Si volcamos esa
imagenenotrosdiscos,tendremosexactamentelomismo,porloque
siesosequipos tienenunhardware muy distinto, puedeque losdri
vers no funcionen, aunque si son ligeramente parecidos, funcionar.
As,tendremosclonadonosloelsistemaoperativo,sinotambinlas
aplicacionesquetuvierainstaladoelsistemaoperativooriginal.
Parahacerestohayvariasherramientas:NortonGhostoAcro
nis. Ghost arranca el equipo y puede comunicarse con la unidad de
reddondetienelamaqueta,pasandocadabytedestaaldiscoduro.
Tenencuentaqueconlaclonacin,laIP,elnombredelequipo,
etc.,sernelmismo,yesoserunproblema.Lotendrsquecambiar
amano,osino,utilizaralgunaaplicacincomoporejemploAcronis,
quetepermitirasignaresascaractersticasautomticamente.
Porlotanto,silasmquinasdondesequiereinstalarelsistema
operativotienenhardwaremuydistinto,noserrecomendableinsta
larloas.
SECUENCIADEARRANQUE
47
ImplantacindeSistemasOperativos
bcd.logenlugardeltradicionalboot.ini.Lasecuenciadearranque
constade:
ControldelsistemaporlaBIOS.
Lecturayejecucindelregistrodeiniciomaestro(MBR,Mas
ter Boot Record). El MBR es el primer sector de un disco
duro,quecomienzaelprocesodeiniciodelequipo.ElMBR
contiene la tabla de particiones del disco y una pequea
cantidaddecdigoejecutablellamadocdigodeinicioprin
cipal,desdedondesecargaBootMgr(BootManager).
BootMgr controla el proceso de arranque (detecta las op
ciones de arranque para elegir el kernel) y muestra las
opcionesdelmen(siexisten).
BootMgrllamaaWinLoad.exeparaquealojealkernelele
gidoenmemoria.
Se carga el archivo del kernel (new technology operating
systemkernel,ntoskrnl.exe)byteabyte,esejecutadoy
pasaasegundoplanohastalaprimerallamadaalsistema.
PersonalizacindelArranque.
ParapersonalizarelarranqueeditaremoselBootConfiguration
Data (fichero bcd.log). Este fichero es binario (es decir, no est
codificado con cdigos alfanumricos), por lo quehabr que modifi
carloconunprogramaquepuedamodificarelficherocorrectamente.
Paraelloutilizaremoselprogramabcedit.exe.bcd.logestubica
doen\boot,yestoculto.
Antes,elficheroeraelboot.iniyeraunficheroplanoquese
podaeditardirectamenteyquecontenalascaractersticasdenues
troarranque.
bcd.logenumeraylocalizalasparticionesarrancablesdelsis
tema,ytambinpodrgestionarsedesdelainterfazgrfica.
Nombre
Tipo
Datos
ab(Predeterminado) REG_SZ
FirefoxHTMLDocument
abFriendlyTypeName REG_SZ
FirefoxHTMLDocument
CategorasPrincipales.
CONFIGURACINDELARED
Configurarlared,juntoconelnombredelservidor,esunpaso
inicialbsico.Suconfiguracindependedelroldelamquinadentro
de la red (Servidor web, router, firewall, Proxy, etc.), y podremos
configurarlo a travs del Centro de Redes que se encuentra en el
Panel de Control. All habr que seleccionar Administrar Conexio
nes de Red, Red de rea Local, Propiedades. Despus,
seleccionaremosProtocoloIPv4yconfiguraremossuspropiedades.
Para nuestro centro pondremos, por ejemplo: IP 192.168.5.111;
Mscara255.255.255.0ypuertadeenlace192.168.5.254.
Laconfiguracinbsicasiemprenecesitarlosiguiente:
DireccinIPdelservidor.
MscaradeSubred.
Puertadeenlace.
ServidoresDNS.
Aunqueparalosrolesantesmencionados,harfaltaunaconfi
guracinmscompleja.
UTILIDADESDEADMINISTRACIN
Lasherramientasquepermitenanalizarymonitorizarelestado
y funcionamiento de la mquina reciben el nombre de utilidades de
administracin. Todas ellas son fundamentales para cualquier admi
ADMINISTRACIN
INTRODUCCIN
Laadministracinseencargardequeelsistemaestsiempre
funcionando.Paraello,todotendrqueestaroptimizado(configura
cin del software, hardware y las comunicaciones del servidor) para
poderexplotarlamquinaasurendimientoptimo.
REGISTRODEWINDOWS
Esunabasededatosjerarquizadaquecontienelosprincipales
parmetrosdeconfiguracindelsistema.Esunaespeciede/etc,
donde se encuentran las directivas del sistema, de cada usuario, de
seguridad,etc.Setratadeunarchivobinario,conelquepodrsconfi
gurartodoelsistema.
Sepuedemodificarconlautilidadregedit.exe.Alabrirlo,ve
mos que muestra la base de datos jerarquizada en forma de rbol,
48
ImplantacindeSistemasOperativos
nistrador.Entreellasveremoslaconsoladeadministracin,elvisorde
eventos, el monitor de rendimiento y alertas, el programador de
tareas,yelgeneradordeinformes.
ConsoladeAdministracin.
LaMicrosoftManagementConsole(MMC)esunaherramienta
utilizada para crear, guardar y abrir colecciones de herramientas
administrativas,llamadasconsolas.Lasconsolascontienenelementos
como complementos, extensiones de complementos, controles de
monitor,tareas,asistentesydocumentacinrequeridaparaadminis
trar la mayora de los componentes hardware, software y de red de
Windows.SepuedenagregarelementosaunaconsolaMMCexistente
o bien crear nuevas consolas y configurarlas para administrar un
componente especfico del sistema; sern una especie de scripts
visualesquepodremosguardarcomoarchivosindependientes.
ParaabrirMMC,habrquepincharenInicioyacontinuacin,
enEjecutar,escribirmmc.
TodaMMCtienedospaneles,ysuestructuraserlamismapa
ra cada una de las utilidades de administracin que veremos a
continuacin.
PanelIzquierdo.Complementosaadidos.
PanelDerecho.Detallesdelcomplementoseleccionado.
ConsoladeAdministracin.UsuariosyGruposLocales
VisordeEventos.
Estevisormuestralosregistrosdeeventos(tablasdondeseal
macenansucesosocurridosenelsistema)ysucontenido.Cuentacon
Aplicacin.Elregistrodeaplicacincontienelossucesosre
gistrados por aplicaciones o programas. Por ejemplo, un
programadebasededatospodraregistrarunerrordear
chivoenelregistrodeaplicacin.Sernlosprogramadores
losquedecidirnqusucesossesupervisarn.
Seguridad.Elregistrodeseguridadguardasucesoscomoin
tentosdeiniciodesesinvlidosynovlidos,ademsde
sucesosrelacionadosconelusoderecursos,comolacrea
cin, apertura o eliminacin de archivos u otros objetos.
Unadministradorpodrespecificarlossucesosquesere
gistrarn en el registro de seguridad. Por ejemplo, si
habilitaste la auditora de inicio de sesin, se registrarn
enelregistrodeseguridadlosintentosdeiniciodesesin
enelsistema.
Sistema. El registro del sistema contiene sucesos registra
dosporcomponentesdelsistemaWindows.Porejemplo,
elerrordelacargadeuncontroladoruotrocomponente
del sistema durante el inicio quedar registrado en el re
gistrodelsistema.Lostiposdesucesosregistradosporlos
componentes del sistema estarn predeterminados por
Windows.
Cadaunodeestosregistrosalmacenaeventosdetipoinforma
cin,advertenciaoerror(aunqueloseventosreferidosalaseguridad
podrn tener ms tipos, como autenticaciones fallidas), con la hora,
fecha, usuario, categora, suceso y equipo donde se produjo la inci
dencia. Podremos buscar informacin dentro de esos registros,
creandovistaspersonalizadasoaplicandoFiltros.
LasVISTASsonfiltrospermanentesquequedanregistrados
y que permanentemente se van a cargar asociadas a un
nombre. Son por tanto, mecanismos de recuperacin de
eventosconciertosparmetroscomunes(unscriptconel
nombre de esa bsqueda). Las vistas se podrn exportar
deunPCaotro.Porejemplo,podremostenervistassobre
elregistrodeseguridadparaalmacenarlainformacinde
loserrores;olavistaparaalmacenarloseventossobreel
apagadodelsistema.
Los FILTROS son bsquedas, como un grep. En el rbol
de la consola habr que seleccionar el registro que se
deseefiltrar.Enelmenver,buscarFILTRO,yallespecifi
carlascaractersticasquesedesean.
49
ImplantacindeSistemasOperativos
Sobrecadaregistropodremos:
Modificarsuconfiguracin.
Buscareventospordiferentescriterios.
Exportarlos a un fichero o base de datos (.evt binario,
.txt, .csv). Si hacemos esto, podremos almacenarlos, algo
fundamentalparafuturasauditoras.
MonitordeRendimientoyAlertas.
ProgramadordeTareas.
Iniciodeunprograma.
GeneradordeInformes
Elgeneradordeinformeshacefotografasdelsistemaenun
momentodadoenbaseaunosparmetrosconfiguradosapriori(por
tantonoesatiemporeal).Estosparmetrostrabajanconlosmismos
elementosqueelmonitorderendimiento,esdecir,conloscontado
resyconlosconjuntosrecopiladoresdedatos.
GESTINDELAINFORMACIN
SISTEMADEFICHEROSNTFS
ElsistemadeficherosNTFStienemejorassignificativasconres
pectoaFAT32,entrelosqueseencuentranlospermisosdearchivosy
carpetas (podremos hacerunamejor gestinde permisos y listas de
controldeacceso),elcifrado(seguridad),lacompatibilidadconvol
menesdegrantamao,laadministracindearchivosdispersos,mejor
recuperacinfrenteafallosyconfiguracionesavanzadasvasoftware.
NTFS.Permisos
ElniveldepermisosNTFScontrolaelaccesofinalaunficheroo
carpetadetodoslosusuarios,ytienecomofinasegurarlaseguridade
integridaddelsistemadeficheros.Lospermisossonreglasasociadasa
archivos o carpetas con usuarios o grupos, y todo fichero contenido
enunacarpeta,heredarlospermisosdesta.
Hay diferentes permisos en Windows, aunque realmente son
operacionesquesevanapermitirodenegar:
50
Enviaruncorreo.
Mostrarunmensaje.
Disparadores (desencadenadores). Cualquier situacin que
provoquelaejecucindeunatarea.Haymuchosdeellos,
entrelosquesepuedennombrar:segnprogramacin,al
iniciaroapagarsesin,aliniciarelsistema,oalestarinac
tivo.Hayquetenerencuentaquenoexisteundisparador
alapagarelsistema,ysiqueremoshacerlotendremosque
buscarelid.evento1074,conorigenUSER32(unmdu
lodelkernel)ycuyoregistroseasistema.
ImplantacindeSistemasOperativos
NTFS.HerenciadePermisos.
TodoarchivoocarpetaposeeunaACL(AccessControlList).Ca
da entrada en la ACL relaciona cada actor (usuario o grupo) con las
operacionesquetienepermitidasodenegadas.UnaACLpuedehere
darentradasdesusantecesores,perosiestnheredadasnopodrn
eliminarse, tan slo podrn denegarse. Windows recomienda utilizar
denegarsloencasosespeciales,comopara:
EncasodequenosintereseeditarporcompletounaACLten
dremos que romper la herencia respecto de sus antecesores. Para
hacerlo,habrqueirsealasopcionesavanzadasdentrodelapestaa
deseguridadunavezestandoenpropiedades.Unavezdentro,enla
pestaadePermisos,habrquedeseleccionarelrecuadroHeredar
del objeto principal las entradas de permisos relativas a los objetos
secundarios. Una vez hecho esto, podremos elegir copiar toda la
ACL de nuestro antecesor o borrarla para crear una nueva. De cual
quier forma, la ACL ahora pertenecer a ese elemento de forma
completa.
Es recomendable romper la herencia en los niveles ms altos,
aunquehabrquetenerlosiempreencuentaalahoradeahorrarnos
eltrabajo.
Hayquetenerencuentaqueanteunconflictoentrepermisos,
siempreseaplicarelmsrestrictivo.
EXPORTARINFORMACIN
LainformacinalmacenadaenunamquinaWindows2008es
normalmenteexportadaatravsdelared.Puedenutilizarsemuchos
serviciosderedexternosparahaceresto:NFS,FTP,SSH,HTTP.Nor
malmente, en Windows utilizaremos el protocolo SMB. El antiguo
SMB (ahora CIFS) es un sistema de transferencia de ficheros que
proviene de la antigua implementacin GNU SAMBA de Linux. SMB
nospermitir, por tanto,compartirrecursos, como ficheros, directo
riosoimpresorasatravsdeunared.SMBvienedeserieentodoslos
sistemas Windows, por lo que se ha convertido a la fuerza en un
estndar.
Permisos.
Estospermisossloseaplicanalosusuariosqueaccedenalre
curso compartido a travs del servicio de comparticin de SMB. No
ControlTotal.
Cambiar.
Leer.
Mecanismos.
ParapoderexportarlainformacinutilizaremoslacarpetaAc
ceso Pblico, o en el men propiedades, Compartir. Si hacemos
esto ltimo, conseguiremos ms exactitud en la configuracin de
usuariosypermisos,puespodremoselegirlosusuariosylospermisos.
AlcompartirdosficherosconSAMBA,tendrsunNAS(verms
adelante).
UsoDesconectado.
ALMACENAMIENTO
Segneluso,sepodrnutilizarunosuotrosdispositivosdeal
macenamiento. Para su uso continuado, utilizaremos discos
magnticos, mientras que para su uso puntual, utilizaremos discos
pticosycintasmagnticas.
Sin embargo, hay otras tecnologas de almacenamiento, bien
hardware o mdulos software del propio Windows, que servirn
comosustitutosdedichohardware.
Raid(RedundantArrayofIndependentDisks).
RAID0.Eselmssencillo.Lainformacinsedivideentiras
(stripes) que se almacenan en paralelo en dos discos (no
hayinformacinduplicada).
51
ImplantacindeSistemasOperativos
Ventajas:Tienetoleranciaafallos,comomucho,
un fallo. Si perdemos un disco, no perdemos in
formacin, pues est duplicada en el resto de
discos.
Aniveldealmacenamiento,elobjetivoidealparacualquierad
ministrador es que cada componente funcione ntegramente con el
sistemaynoimpliqueunatrabaparaelclculo.Paraesto,elRAIDno
es muy vlido, pues es poco flexible, de forma que se recurre a las
redes.
RedesSAN(StorageAreaNetwork).
Laaplicacinaccedealsistemadeficheros.
El sistema de ficheros accede a su mapa y llama al driver
iSCSI.
El driver iSCSI sabe que tiene que comunicarse por la red,
esperando mensajes para confirmar donde est la infor
macinqueselehaubicadoenelmapa.
iSCSI se comunica con la red para pedir la informacin, se
haceconella,lacompila,selapasaalsistemadeficheros
ystealaaplicacin.
LarediSCSInodeberacompartirnadaconlaredlocalydebe
ratenersupropioswitch.
Esteesunsistemamuyflexible;lonicoquetenemosqueha
cerparaampliarlo,esaadirmsnodosalared.Adems,cadanodo
podrtenerunsistemaRAIDensuinterior.
RedesNAS(NetworkAttachedStorage).
Sonunconjuntodediscosconectadosenunaredlocal,aligual
que la SAN, pero conceptualmente est por encima del sistema de
ficheros,adiferenciadelaSAN.
NASsebasaenunserviciodeficheros:aceptamensajesasocia
dosaficherosquetrabajaconrutas(lee,escribe,cierra,abre,elimina,
etc.,mensajesdealtonivel).
Funcionadelasiguientemanera:
Elclienteaccedealserviciodeficheros(NFS,SMB,etc.).
CuandomontemosunRAIDennuestroequiposloveremosun
disco, es decir, siempre se ver como una unidad de bajo nivel. El
sistema operativo no accede ni controla los discos, sino que ser la
controladoralaqueseencargardeello.
Windows 2008 tiene mecanismos para emular RAID (ver ms
adelanteAlmacenamiento.Windows2008).
Almacenamiento.Redes.
Enlaltimadcadasehanutilizadootrostiposdesistemasde
almacenamiento para mejorar la escalabilidad, es decir que pueda
crecer en tamao y que siga funcionando (crecimiento en cuanto a
volumendedatos,ascomoencuantoasucapacidaddeclculo).
52
ImplantacindeSistemasOperativos
Comosedijomsarriba,dosequiposcomunicadosconSAMBA,
formanunNAS.Adems,aligualqueelSAN,cadanodopodrtener
unsistemaRAIDensuinterior.
DiferenciasentreSANyNAS.
Almacenamiento.Windows2008
Windows2008tienemecanismosparaemularelfuncionamien
to de los RAID a nivel software, donde el rbitro ser el sistema
operativoquetratarlosdiscosconectadoscomosifueraunRAID.
Estotienecomoventajaprincipalelahorrodedinero.Sinem
bargo, tiene algunos inconvenientes. Este mtodo, donde el kernel
manejalacircuitera,esmslento,puesenunRAIDreal,lacontrola
dora lo hace a travs del hardware directo; por tanto la emulacin
tendrunbajorendimiento.Adems,Windowsnodejainstalarnada
del sistema (ni service pack, ni libreras, etc.) sobre estas unidades
RAIDemuladas.
Paraello,Windows2008distingueentre:
DiscosBsicos.Aquellosdiscosfsicosquecontienenparti
cionesovolmenesbsicos.
DiscosDinmicos.Losdiscosdinmicosofrecenunafuncio
nalidad de la que carecen los discos bsicos, como la
posibilidaddecrearvolmenesrepartidosentrevariosdis
cos (volmenes distribuidos y seccionados) y de crear
volmenes tolerantes a errores (volmenes reflejados y
RAID5). Todos los volmenes de los discos dinmicos se
consideran volmenes dinmicos (similares a las particio
nes),ysonlossiguientes:
VolumenSeccionado(similaraRAID0):Almacena
datosenstripesendosomsdiscos,queseasig
nan de forma equitativa y alternada. Mejora el
BACKUPS
Antiguamente,losrespaldossehacansobrecintasmagnticas,
pudiendo caber varios de ellos en una sola cinta. Actualmente, el
soporte puede ser cualquier otra cosa. A partir de un sistema de
ficherossepuedehacerunbackup:
Normal.Secopiatodoelsistemadeficheroscadavezque
semodificaunarchivodentrodelmismo,independiente
mentedesisemodificaron,o no, elrestode ficheros. Al
haceresto,cadabackupocuparlomismoquelatotalidad
del sistema, sin embargo, te garantizar la restauracin
mslimpiayrpida,puesslonecesitaremoselltimoba
ckuprealizadoparaello.
Incremental.Partedeunbackupcompleto,dondeapartir
delmismo,sloserespaldarnaquellosficherosqueten
gan el atributo de modificado. Hay muchas maneras de
conocersiunarchivohasidomodificadoono(porejem
plo, a travs de la comparacin de sus cadenas HASH),
peroalgonormalesqueelsistemadeficherosincorpore
unbitqueindiquesilosficheroshansido,ono,modifica
dos. As,cuandohagamosel respaldo, elsistemabuscar
aquellos con ese bit y los copiar, quitndoles el bit una
vezhayansidorespaldados.Obviamente,estetipoderes
paldoocuparmenosespacioqueelnormal,sinembargo,
si quisiramos reconstruir el sistema por completo, ten
53
rendimiento,peronisontolerantesaerrores,ni
sepuedenampliarnireflejar.
VolumenReflejado(similaraRAID1):Volumento
lerante a errores que duplica la informacin en
dos discos fsicos. Crea redundancia de datos al
utilizar dos volmenes idnticos llamados espe
jos.
RAID5:Volumentoleranteaerrorescondatosy
paridades distribuidas, en tres o ms discos fsi
cos,deformaintermitenteenbandas.Laparidad
es un valor calculado que se utiliza para recons
truir datos cuando se produce un error. No se
podrnreflejarniextender.
ImplantacindeSistemasOperativos
dramosquecargarlacopiatotalycadaunadelascopias
incrementalesrealizadashastaelpuntoderestauracin.
Por ejemplo, podramos programar respaldos normales
cadasemanayunincrementalcadada.
Diferencial.Partedeunbackupnormal,ycopiaapartirde
ahtodoslosarchivosmodificados,perotrascadarespaldo
diferencial,elbitquesealaquesehamodificadounar
chivonoseelimina,porloqueaunqueesosarchivosyano
se vuelvan a modificar, se copiarn en las subsiguientes
copiasdiferenciales.Lomaloesquesitenemosunsistema
que sufra muchasmodificaciones,tendremos copiasdife
renciales de un tamao similar o superior al original. Lo
bueno es que, en caso de prdida, slo necesitaremos el
backupcompletoyelltimodiferencial.
HyperVnorequieredelsistemahostparafuncionar,esdecir,
no tienes que cargar en memoria ni el kernel ni las libreras de en
torno grfico del sistema operativo. Al evitar esto, ya ests
optimizando el recurso de la memoria; casi todo el espacio de la
mismaestardedicaalasmquinasguests.
HyperVesidealparaDatacentersconaltadisponibilidad.
VirtualPC.
Esunmonitoraniveldeprocesos,basadoenunVirtualMoni
tor(similaraVMwareoParallels).Funcionasobreelsistemaoperativo
(en nuestro caso, Windows 2008) como un sistema host, por lo que
gran parte de nuestra memoria quedar ocupada por el kernel del
sistema operativo, rebajando el rendimiento de nuestra plataforma
virtual(enestesentido,HyperVesmseficiente).
VirtualPCestpensadoparaentornosdeescritorioycontextos
mslimitadosqueHyperV.
PREGUNTAS.
1.
VIRTUALIZACIN
2.
LavirtualizacinestmuypresenteenWindows2008(yasevio
algo de virtualizacin en el tema 3, pgina 13), que incorpora dos
mecanismosomodosdehipervisor:
HyperV.Aniveldesistemaoperativo.
VirtualPC.Aniveldeaplicacin.
HyperV.
EstalojadodentrodelkerneldelWindows2008,porloquees
unhipervisoraniveldesistemaoperativo.HyperV,funcionadirec
tamentesobreelhardware,esdecir,lapropiaplataformasustituyeal
sistema operativo, que tiene nicamente lo necesario para alojar
mquinasguestsobrel(nisiquieracuentaconunainterfazgrfica).
Estemecanismoestslodisponibleparaarquitecturasx86de
64bits(nolosoportanlosde32bits).
Lavirtualizacinestasistidadesdeelpropiohardwareatravs
de mecanismos como IntelVT. Los fabricantes de procesadores y
placasimplementanrepertoriosdeinstruccionesparaqueelhardwa
repuedaadaptarsemejoraestosmodelosdehipervisores,dondelos
esquemas tradicionales de llamadas al sistema se vern modificados
altenerdirectamentesobreelhardwareunhipervisor,ynounsiste
maoperativo.Esto,obviamenteharqueelsistematengaunmayor
rendimientoyoptimizarlostiemposdemigracinyrecuperacinde
lossistemasvirtualizados.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
54
TemaNueve
WindowsServer2008
GestinenRed
nardiferentesserviciosalavez,yportanto,capazdecrearelcontex
toglobalquedefinelosDominios.Adems,ActiveDirectory,permitir
coordinarvarioscontroladoresdedominioparaque,encasodefallo
deunodeellos,eldominiopuedaseguirfuncionando.
Elcontroladordedominioalmacenalosdatosdetodaslasm
quinas,porloquetodasellastendrnquesolicitarsuscredencialesal
controlador. En un dominio, todos los objetos confiarn en las cre
denciales emitidas por el controlador, donde un protocolo llamado
KERBEROS (ver ms adelante), se encargar de que dicha credencial
seafiable;esdecir,quenohayasidocambiada,quehayasidoemitida
poresedominio,yquenohayasidomonitorizada.Portanto,elcon
troladoremitirentodoeldominiocredencialesvlidas.
INTRODUCCIN
Windows2008estdiseadoparafuncionarcomoanfitrinde
serviciosenunared.Veremoslofundamentalparasugestinenred,
comenzandopordefinirloqueesunDOMINIO.
QUESUNDOMINIO?
ComoseintrodujoenelTema8,paraMicrosoft,undominioes
un conjunto de equipos conectados en red con ciertos parmetros
comunes.Microsoftlodefinecomo:
ControladordeDominio.
Elcontroladoralmacenarunabasededatosdeusuariosyob
jetos,siendoelanfitrindetodoslosserviciosenunared:nombres,
webyActiveDirectory.
Aunquesevermsadelante,ActiveDirectoryesunserviciode
directorioquealmacenainformacinacercadelosobjetosdeunared
ylaponeadisposicindelosusuariosyadministradoresdelamisma.
ActiveDirectorydaalosusuariosaccesoalosrecursospermitidosen
cualquier punto de la red mediante un nico proceso de inicio de
sesin.Proporcionaalosadministradoresderedunavistajerrquica
intuitivadelaredyunpuntodeadministracinnicoparatodossus
objetos.ActiveDirectoryesunaherramientacapazdeponerafuncio
SERVICIODENOMBRESYDHCP
Sehadefinidoundominiocomouncontextocomndeobjetos,
donde cada uno de ellos tendr su propia direccin IP. El dominio
utilizar cada uno de estos objetos a travs de su nombre, y no a
travs de su IP, por lo que el servicio de nombres ser fundamental
parasufuncionamiento.Lonormalesquetodocontroladordedomi
nioseaasuvezunserviciodenombres.
Windows poseeun servicio de DNS (DomainName System, se
vioporencimaenelTema7),quehabrqueinstalardeformaexplci
ta,esdecir,novieneinstaladopordefecto.Bsicamente,DNStraduce
los nombres en direcciones IP, por lo que podremos asociarlas a los
nombresdelasmquinas.Enladcadadelos90,Microsoftcreun
serviciodenombresllamadoWINS(WindowsInternetNameService),
unserviciodesoftwareque,aligualqueDNS,asignabadinmicamen
te direcciones IP a nombres de equipo, permitiendo a los usuarios
tener acceso a los recursos por su nombre, en vez de a travs de
direccionesIPdifcilesdereconoceryrecordar.Debidoasuincompa
tibilidad,quedobsoleto,aunqueMicrosoftsigueutilizndolo.
EnAdministrarnuestroservidor,habrqueagregarnuevafun
cionalidadparainstalarDNS.Unavezinstalado,habrqueconfigurarlo.
DOMAINNAMESYSTEM(DNS)
DNSesunprotocolojerrquico.DNSsebasaenzonascuyaad
ministracin est delegada a servidores concretos. Por ejemplo,
55
ImplantacindeSistemasOperativos
supongamosqueexisteunservidorDNSrazconpocosnombres(slo
albergalos.com,.net,.org,.es,.fr,etc.).Cadaunodeestos
nombressecorresponderconunazonaqueestaradministradaen
unDNSdistinto,unDNSquealmacenarlosnombresdecadaunade
laszonasanteriores.Esdecir,lazona.estendrmuchosmsnom
bres,yesosnombrespodrnserzonas,comoejemplo.es,quesern
administradas a su vez por otro servidor DNS. Podramos decir, por
tanto, que cada zona es una base de datos que contiene registros
dondeseindicanlosrecursosquealmacena.
Cuandoalguienadministraunazona,eslibredecreartodaslas
subzonasorecursosenellacomoquiera.Nadanosimpedircrearuna
zona DNS de mbito privado, dondelos nombres se resolvernutili
zandoelcontroladordedominio.
Algunosdelosregistrosdelasbasesdedatosdelaszonas,son:
SOA(StartofAuthority).Esteregistroindicaqueeseservicio
es el propietario de una zona DNS, especificado su inicio
de autoridad. Incluye el nombre primario del servidor, el
maildeladministradordedominio,elnmerodeseriedel
dominio,yvariostemporizadoresencaminadosalaactua
lizacindelazona.
NS(NameServer).Indicalosserviciosprincipalesysecunda
riosautorizadosparaesazona.
A(Address).IndicalaIPdeunrecurso
PTR(Pointer).Indicaelnombredeunequiposilaconsulta
es una direccin IP (es decir, bsquedas inversas). Si no,
dirigeelpunteroaotrainformacin.
Adems,existenmuchosmsregistros,comoCNAME(indicaun
nombre cannico para un alias), MX (indica el intercambiador de
correo)ySRV.
ConfigurarelServiciodeDNS
UnavezinstaladoDNS,tendremosquecrear(almenos)unazo
na de resolucin directa, con al menos los registros SOA y NS.
Adems,podremoscrearzonasderesolucininversa.
Paraterminardeconfigurarnuestrazona,tendremosquecrear
unprimerrecursodetipoAconelnombredenuestrazona.Unavez
creadoste,podremoscreartodoslosrecursostipoAquequeramos.
TuDNSnoconocertodoelmapadeInternet.lnoadministra
rlos.comporloquetendrqueenviarlapeticinaotroDNS.La
formaparaellovariar,peroloqueestclaroesquetendremosque
tenercorrectamenteconfiguradootrosserviciosalosquereenviarlas
peticionesencasodequenuestroservicionoseparesolverlas.
DYNAMICHOSTCONFIGURATIONPROTOCOL(DHCP)
Esteesotrodelosserviciosconlosquepodremoscomplemen
taranuestrocontroladordedominio,aunquenoesfundamental.
ElprotocoloDHCPpermitelaasignacindinmicadedireccio
nesIPyotrosdatoscomolamscaradesubredolapuertadeenlace,
haciendoposibleunaadministracinderedcmoda,flexible,seguray
confiable.DHCPasignarmbitosdedirecciones(crearunareservao
pool)dedondelosdiferentesnodosobtendrnsudireccindered.Es
decir, en vezde configurar a mano los datos a nivel IP (direccin IP,
mscara,puertadeenlace)delasmquinasdetudominio,cadauna
de ellas se lo preguntar auna tercera utilizando elprotocolo DHCP
(trabajaenlacapa2deenlace),evitandoconflictosdedireccionesy
ayudandoaconservarelusodelasdireccionesIPdeclientesenlared.
Por ejemplo, el router de nuestras casas viene equipado con este
protocolo, as, cada vez que arranca nuestra mquina, le pedir al
servicioDHCPlosdatosIP.
Esteprotocolosimplificamucholascosas,perohabrmquinas
concretas que no podrn conseguir su IP mediante DHCP, como los
servidores. Sin embargo, al tomar como base las direcciones MAC
(recuerda que trabaja en la capa 2 del modelo TCP/IP), podremos
hacerque unservidor tenga siempre la misma IP. Cmo? Asociare
mos siempre esa IP con la direccin MAC del servidor y
conseguiremos que siempre quede reservada para l, aunque se
asignedinmicamente.
Debido a que el DHCP se descubre por mensajes de difusin,
tener varios servicios de ellos funcionando en la misma subred IP
podra ser problemtico, pues podra haber solapes de mbitos (es
decir,quedosserviciosDHCPledenlamismadireccinIPaunmismo
equipo).
ConfigurarelServiciodeDHCP
LainstalacinessimilaraladelserviciodeDNS.Debemosagre
gar una nueva funcionalidad en Administrar nuestro servidor. A
partirdeaquarrancarunsencilloasistentedeinstalacin.
Para su configuracin no requeriremos el uso de servicios de
WINS, ni la compatibilidad con IPv6, sino que slo tendremos que
crearnuestrombitodedireccionesofrecidas,indicandoel:
Rangodedirecciones.
Mscara.
Puertadeenlace.
LasIPconcedidasalasdiferentesMACsevernenelConteni
dodembito,Concesionesdedirecciones.Elserviciopermiteotras
configuracionesmsavanzadascomolaasignacindelnombredela
mquinaylaIPatravsdeladireccinMAC(parahaceresasreservas
quesecomentaronantes).
56
ImplantacindeSistemasOperativos
Unavezfinalizadoelasistentedeinstalacin,elservicioestar
listoparautilizarse.
Esteprotocoloserespecialmentetil,porejemplo,enunaofi
cinaenlaquesearranquenguestdevezencuando.Deestaforma,
podremosdecirqueloshosttenganIPfijasydejaremosquelosguest
virtuales pidan sus IP por DHCP (as, todas tendrn una IP correcta).
HayquetenerencuentaqueDHCPfuncionaaniveldeenlace(capa
2), es decir, no traspasar un router, por lo que habr que instalar
DHCPencadared(internoalasubredIP).
Las redes WiFi utilizan el protocolo DHCP para no tener que
configurarlaIPdecadaterminalamano.
la, Zentyal, tiene una interfaz web para conectar un servidor para
controlartododesdeunpanelgrfico,peroestmuylejosanivelde
fiabilidad de la versin Windows). No ser nada sencillo configurar
estosserviciosdeformamanualyporseparado,yluegointegrarlos.
ActiveDirectoryeslasolucindeMicrosoftparalacreacinde
dominios;msqueunservicio,esunconjuntodeserviciosparaper
mitir que toda la informacin de usuarios, objeto e impresoras, sea
accesibledesdelasdemsmquinasdeldominio,evitandoacumular
esainformacinencadaunadelasmquinas.Cualquierusuariopodr
accederacualquiermquinasinnecesidaddetenercuentadeusuario
enella.Paraestosernnecesariosvariosserviciosdelosqueveremos
los siguientes (aunque bsicamente, Active Directory es un conjunto
delosdosltimos):
DNS(DomainNameSystem).Eselprotocoloderesolucin
denombres,utilizadopararesolverlaubicacinanivelde
redapartirdeunnombre.ActiveDirectoryrequieresiem
pre este servicio para resolver la ubicacin de los
elementosregistradosensubasededatos,aunqueseins
talaapartedeActiveDirectory.PuestoqueDNSnoexige
muchosrecursos,normalmenteelcontroladordedominio
tambin ser nuestro servicio de nombres a la hora de
configurarundominio.
DHCP (Dynamic Host Configuration Protocol). Se instala a
parte.
LDAP(LightweightDirectoryAccessProtocol).Eselprotoco
lodeaccesoprincipaldeActiveDirectory,comotal,tendr
queserinstaladotantoenelclientecomoenelservidor.
Pordecirlode forma sencilla,LDAP regulaelaccesoalos
contenedorescreadosporActiveDirectorycontodalain
formacin de usuarios y objetos. Se entiende por
contenedor, cualquier tabla que contiene nombres de
elementos, cada uno de ellos cos sus caractersticas; es
decir,unabasededatosmuysimple.UnservicioLDAPda
accesoaesecontenedor(obasededatosligera)dondese
almacenan las entidades y sus propiedades. Active Direc
toryutilizaesteprotocoloparaalmacenarinformacinde
usuarios, objetos, configuraciones, directivas, etc. Lo pri
meroparacrearundominiosermontaresteservicio.
EstndardeAutenticacinKerberos.Esunestndar(esde
cir,undiseo,nounaimplementacin);unmecanismode
autenticacin utilizado para comprobar la identidad de
usuariosohosts.Esunprotocoloparapermitirunacomu
nicacin confiable y segura. Con l, sabremos que los
actoressonquienesdicenserynadiepodrseguirocopiar
la comunicacin, permitiendo que dos entidades en una
red puedan mostrar sus identidades de manera segura,
evitando que sean usurpadas. Cuando queramos recupe
rarinformacindelActiveDirectorydeformaremotanos
garantizarsufiabilidad.AlgoparecidoaKerberosseutili
zaparaevitarlamonitorizacindelaspginasdelosbancos.
ACTIVEDIRECTORY
57
ImplantacindeSistemasOperativos
CONCEPTOS
ControladordeDominio.
rboldeDominio.
Unoovarioscontroladoresraz.Todosestoscontroladores
tendrnunabasededatosconelmismocontenido.Sison
varioscontroladores,estarplicanospermitirtenertole
rancia a fallos. De forma automtica, al crear un
controladoradicionalenundominioyaexistente,secrea
runarplicadelabasededatosyamboscontroladores
se comunicarn. NO EXISTEN DIFERENCIAS entre un con
troladordedominioprimarioyunosecundario,aunquesi
la informacin de un usuario es creada en el controlador
secundario, esta informacin tardar un tiempo en estar
sincronizadaconelprimario,ysi las mquinastienenco
mo DNS primario la del controlador creado en primer
lugar, podra tardar un tiempo hasta que se comuniquen
entre controladores, creando retardos y negaciones tem
porales. Cada mquina podr ser configurada como se
deseeparapreguntarenprimerlugarauncontroladoroa
otro.
Mquinas asociadas a ese dominio. Introduciendo el DNS
del controlador y el nombre del dominio, se unirn al
mismo.
Controladoresdedominioshijos.
BosquedeDominio.
cin,tendramosvariosrbolesdeigualimportancia,sinqueunode
ellossearazdeotro,teniendoentoncesunbosquededominio.
Ejemplorboldedominionico.Sicreamosundominiocuyo
nombre es IES.COM, la mquina controladora se llamar
DC1.IES.COM. Despus acoplaremos el resto de mquinas al
dominio, que se llamarn PCX.IES.COM. Una vez hecho esto,
podremoscrearcuentasdeusuarioseimpresorasenelcontro
lador,paraquelosusuariospuedanloguearseencualquierPCy
acceder a cualquier informacin del dominio desde cualquier
terminal.Incluso,aunqueunodelosPCtengaunNAS,cualquier
usuario desde otro PC podr acceder a las carpetas en red
siemprequetengapermisosparaello,puessuidentificacines
tarfirmadaporDC1.Losusuariossernglobales.SiDC1secae,
todo dejar de funcionar. Para evitarlo, podremos introducir
unacontroladoraadicional,DC2,dondetendremosqueactivar
elActive,yconfigurarlocomocontroladordedominioparauno
queyaexiste.DC2tardarunratoensincronizarse,perocuan
dolohaga,tendrlamismainformacinqueDC1.
Aunque tener ms controladores no mejora el rendimiento, la
naturalezadelaorganizacinpodrrequerirdemsdominios.
EjemploDominiorazydominiosdelegados.Siqueremoscrear
subdominios,loprimeroquetendremosquehacersercomprar
otramquinaserver,instalarWindows2008yponerleunnombre
al dominio, en nuestro ejemplo, ADMIN. Ahora tendremos que
instalar Active Directory, para convertirla en la controladora de
undominionuevo.Aunquedichodominioseanuevo,serdele
gadodeldominioIES.COM,yestarpordebajojerrquicamente.
El nuevo dominio se llamar ADMIN.IES.COM., y el controlador
DC.ADMIN.IES.COM.Enlospermisosentralapolticadegrupos,y
susrestriccionesvendrndadasporlosgruposalosquepertene
ce.
AniveldeDNSfuncionadeformajerrquica.Sinotieneladi
reccin,lepreguntaalcontroladordenivelsuperior.
INSTALACIN
58
ImplantacindeSistemasOperativos
Asociarmquinasaesedominio.
USUARIOSYGRUPOS
Lagestindelosusuariosylosgruposesbastantecomplejacon
ActiveDirectory,yaqueentrarnenjuegolaspolticasdegruposque
severnenel2cursodelciclo.
Al crear un dominio, podremos tener un espacio comn de
usuarios globales, con una base de datos global de usuarios, donde
tantousuarioscomogrupossernobjetosdelamisma.
La identidad de un usuario se compartir entre todas las m
quinas y procesos del dominio, y estar basada en un certificado de
confianza(segnelestndarKerberos)expedidoporelcontroladorde
dominio (kerberos asegurar que estos certificados no puedan ser
emitidosporningunaotramquina).Esdecir,losprocesosdecidirn,
en base a la identidad del solicitante, si podrn o no hacer algo. El
sistema operativo comparar la identidad del cliente que arranca el
procesoconlaidentidaddesubasededatos,yenbaseaeso,podro
nollevaracabolasaccionesqueseproponga.
Paralagestindelosusuariosygruposutilizaremosunaconso
la de administracin predefinida: Usuarios y equipos del Active
Directory. Una vez dentro, veremos que est compartimentada en
dosmarcos:
Marcoizquierdo:Dondeseencuentranloscontenedores
ounidadesorganizativasdelActiveDirectory.Muestrael
contenidodelabasededatosdelActiveDirectorydefor
Losusuariosylosgrupossonobjetosdelabasededatos,don
delosobjetosgruporelacionandistintosobjetosusuario.Esto,sin
embargo,noimplicaquelosusuariosestncontenidosengrupos,
slorelacionados.Esdecir,sieliminamosungrupo,noeliminaremos
los objetos relacionados con l, sino los permisos asociados a ese
grupo.Portanto,unobjetogruponocontieneaobjetosusuario.
TodoobjetoestidentificadoporunSIDnico,ycomoobjetos,
losusuariosygrupostendrnelsuyopropio.
Para crear un nuevo usuario o grupo simplemente habr que
pulsarelbotn derecho sobre elcontenedor quequeramos, yelegir
nuevo usuario o grupo (con su login, nombre, etc., o mbito y tipo
distribuidoparagrupos),ytenercuidadoconlascontraseas(directi
vasdeseguridad).Delosusuariospodremoselegirlacaducidaddesu
contrasea, el horario de acceso a cualquier equipo del dominio, la
capacidaddediscoyelcontrolremoto.
INTERNETINFORMATIONSERVER(IIS)
ConesteserviciopodremosconvertirnuestroWindows2008en
unservidorweb.LaversinlibreesApache.
IISenglobaserviciosdesoftwarequeadmitenlacreacin,con
figuracinyadministracindesitiosWeb,ademsdeotrasfunciones
de Internet. Entre los Servicios de Internet Information Server se
incluyen el Protocolo de transferencia de noticias a travs de la red
(NNTP), el Protocolo de transferencia de archivos (FTP), el Protocolo
simpledetransferenciadecorreo(SMTP),elprotocolodetransferen
ciadehipertexto(HTTP),etc.
TalycomoseconcibiInternet,cadaunadenuestrasmquinas
podra funcionar como un servidor web, con una direccin IP fija y
propia,pudiendoexportarsurutaabsolutaalrestodeusuariosconec
tados a la red. Por ejemplo, si un cliente solicitara leer en nuestra
mquina, index.html, el servicio web, cuya ruta absoluta podra ser
C:\miweb,ledaralarutaC:\miweb\index.html,llamandoyleyendo
directamentesobrelosarchivosestticosdenuestrodisco.
Enlarealidad,nocontamosconunaIPfija,ysiqueremosque
nuestroscontenidosestnalalcancedetodos,habrquerecurriraun
59
ImplantacindeSistemasOperativos
IISescompatibleconmdulos.NET,comoVisualBasicScript,y
ASP,ypermitelagestindediferentessitiosweb.
C:\inetpub\ftproot\>Dondeseencuentralascuen
tasdeusuarioconaccesoFTP.
C:\inetpub\wwwroot\>Dondeestelcontenidoweb
denuestroservidor.
C:\inetpub\mailroot\> Que es el directorio raz de
losusuariosconserviciodemail.
PREGUNTAS.
1.
2.
3.
4.
5.
60
InstalaelservicioDNS.
InstalaelActiveDirectory.
Aadeunamquinaaundominio.
Aadedosmquinasaldominio.
InstalaelservicioIIS.
TemaDiez
Seguridad
patronesqueharanmssencillodesentramarlo.Portanto,paradarle
robustezanuestroalgoritmopodramosaadirlelaclaven.Deesta
forma,cuandoquisiramoscifrarunmensajeconnuestroalgoritmo,
sumaramosnposicionesacadacarcter.Conestoconseguiramos
queaunquenuestroalgoritmofuesepblico,nofueraposibledesen
tramar nuestros mensajes codificados (aunque podran conseguir
descifrarsemediantelabsquedadepatronesabasedefuerzabruta).
Elsecretoestaraenlaclave,noenelalgoritmo.Portanto,larobus
tezdelcifradodeberaresidirenelsecretodelaclave,noeneldel
algoritmo.
TIPOSDECIFRADO
Cifradosimtrico.
Cifradoasimtrico.
CifradoSimtrico.
Estetipodecifradossondeltipodelejemploquehemosvisto
antes,esdecir,unavezcifradounmensaje,slopodrserdescifrado
aplicando la misma clave (es decir, si n=3, restar tres posiciones a
cadacarcteryyatendrmimensajeenclaro);portanto,enelcifra
do simtrico, emisor y receptor cifrarn y descifrarn con la misma
clave.Estosuponeunproblemaclaro,cmoacuerdodichaclavede
forma segura? Ya que la robustez de mi cifrado est basada en el
secreto de la clave, distribuirla a mi receptor de forma segura ser
complicado.Apesardequeestecifradoeselmsseguroyrpido(en
tiempodeclculo),cuentaconeseproblema,ademsdelaincomodi
dad de tener que generar una clave distinta para cada uno de los
receptores de nuestros mensajes cifrados. Como alternativa, y para
solucionarestosproblemas,aparecienlaltimadcadadelsigloXX
elcifradoasimtrico.
CifradoAsimtrico.
Conestecifrado,elemisoryelreceptorcifranydescifrancon
clavesdistintas.Cuandoquieracifrarunmensajegenerarunparde
claves mellizas (es decir, se generarn al mismo tiempo y una ser
dependientedelaotra):
CRIPTOGRAFA
Lacriptografaesunconjuntodetcnicasqueestudialamodifi
cacin de la informacin en base a unas reglas acordadas entre un
emisoryunreceptor,yquenadiemsconoce.Deestaforma,podre
mosocultarelcontenidodeunmensajeareceptoresnoautorizados.
Tenencuentaquelacriptografanoocultalaseal(deesoseencarga
la Esteganografa, que hace que el mensaje se transmita sin que
denuncie siquiera su existencia) sino el contenido que transporta la
seal.Ademsdeocultardichocontenido,lacriptografanoasegura
nadams,nisiquieraqueelmensajenoseamanipulado,slolohar
ilegibleparaaquellosusuariosnoautorizados.
ELEMENTOS
Lacriptografatrabajacon:
FUNCIONAMIENTO
Elalgoritmotomaelmensajeylaclave,procesndoloycifrn
doloenfuncindesta,yexpulsandoporsusalidaelmensajecifrado.
Por ejemplo, el cifrado Csar aumenta en 3 cada cdigo de cada
carcter.Esdecir,siciframosdeestaformalapalabraala,alproce
sarlaconnuestroalgoritmo(sumar3acadacarcter),tendremosen
nuestrasalidaelsiguientemensajecifrado:dod.Sinuestroalgorit
mo se hiciera pblico, todo el mundo podra descifrar nuestros
mensajes,ylaseguridaddenuestrocdigoestaraaexpensasdeque
nuestroalgoritmonuncafueradescubierto.Adems,sinuestroalgo
ritmo hiciera siempre las mismas modificaciones, al final alumbrara
61
ImplantacindeSistemasOperativos
Ejemplo.SiJuanrecibeunmensajedePepe,cmopuedease
gurarsequenadietocelficherodurantelatransmisin?Para
asegurarlaintegridadtendrquehacerlosiguiente.Pepequie
reenviarunmensajeaJuan.Loprimeroquetienequehaceres
calcularlacadenahashdelmensajeenclaro.Luego,adjuntala
huelladigitalyelmensaje,ycifraelconjuntoconlaclavepbli
ca de Juan. Cuando Juan recibe el paquete, lo descifra con su
claveprivada,separandolahuelladigitaldelmensajeenclaro.
Paracomprobarqueelmensajenohasidomanipuladoporter
ceros, lo nico que tendr que hacer, ser calcular la cadena
hashdelmensaje enclarode Pepe y compararlaconlahuella
digitalqueadjuntPepe.Siambascadenashashsoniguales,se
habraseguradolaintegridad.
FIRMADIGITAL
Ejemplo.Enestecaso,partimosdenuevodenuestromensajeen
claro. Obtenemos su hash, y ciframos esahash connuestraclave
privada.Lacadenahash(cifrada),laadjuntamosalmensajeencla
ro, yel conjuntolociframos conlaclavepblicadeldestinatario.
Cuandoeldestinatariorecibeel mensaje,lodescifraconsuclave
privadayobtieneunahashcifrada(esdecir,unafirmadigital)yel
mensajeenclaro.ElmensajediceserdePepe,porloqueeldesti
natario coge la clave pblica de Pepe y la utiliza para descifrar la
hashadjunta.Siconsiguedescifrarlahash,entonceselquelahaci
fradohasidoPepe(asegurandoidentidad),ysialcalcularlahash
delmensajeenclarocoincideconlahashdescifradadePepe,en
toncestambinsehabraseguradolaintegridad.
Noobstante,aunquelolgicosercifrarconnuestraclavep
blicaydescifrarconlaprivada,podremoscifrarconlaprivada,yas,
cualquiera que tenga la pblica podr descifrar nuestro mensaje. Es
decir,podremosdescifrarocifrarconunauotra,sinqueimportesies
pblicaoprivada.
Estecifradotienelaventajadequenotendremosquegenerar
clavesdistintasparacadaunodelosreceptoresdenuestrosmensajes
(yaquesiempredescifrarconunasolaclave),ynohabrproblema
paraacordarlaclavedeformasegura,desapareciendoelproblemade
ladistribucindelasclaves(losdosproblemasdelcifradosimtrico),
pudiendoconsultar,paracifrar,undirectoriopblicodeclavespbli
cas(porejemplo,enInternet).
Sinembargo,elcifradoasimtricosermslento(entiempode
clculo)queelcifradosimtrico,ypodrromperseatravsdelafactori
zacin (es menos segura que el cifrado simtrico, que slo podremos
descifraraplicandolafuerzabruta),yaquelaclavepblicaserelresul
tadodelproductodedosnmerosprimosdegranlongitud(dondeuno
delosfactoresdeeseproductoserlaclaveprivada).Esdecir,simulti
plicolosnmerosprimos2y3(unodeellosmiclaveprivada),obtendr
mi clave pblica, 6. Si factorizo 6, obtendr pues la clave privada. Sin
embargo, la velocidad de clculo a la hora de factorizar nmeros con
muchsimosdgitosnoesdetiemporazonable(sepodratardarmsde
1000aosencompletarunaoperacinsemejante).
Ejemplo.SiPepeyJuanquierencomunicarsedeformacifrada,
Pepe utilizar la clave pblica de Juan para cifrar su mensaje.
CuandoseloenvaaJuan,comostehageneradoelpardecla
ves, posee la clave privada (nica capaz de descifrar ese
cdigo),ylautilizaparadesentramarelcontenidodelmensaje
dePepe.
INTEGRIDAD
Eslapropiedadquedenotaelcarcterinalteradodeunmensaje
durante su transmisin, se garantiza cuando puedes asegurar que el
mensajeno haya sido modificado.Los tipos de cifrado vistos antes no
solucionan el problema de la integridad, pues no la garantizan, por lo
que habr que combinar otras tcnicas, como Hashing y funciones
resumen.
Laintegridadsepodrpreservarconunafuncinhash,comoel
MD5 (messagedigest algorithm 5), que aplicada a un mensaje o
ficheropodrutilizarseparacrearsufirmadigital(omarcadeagua).
Como se vio anteriormente, una funcin hash es aquella que toma
como entrada una cadena de bytes y genera otra de mucho menor
62
ImplantacindeSistemasOperativos
CERTIFICADOS
Datosdeltitular.
Clavepblicadeltitularsincifrar.
Nmerodeserie.
Fechadeexpiracindelcertificado.
Firmadigitaldelaautoridad(hashdelaclavepblicaque
acreditalaautoridad,cifradaconlaclaveprivadadelaau
toridad).
Enrealidad,cualquierapodremitiruncertificadodigital,aun
que no tendr validez a menos que haya sido autorizado por una
autoridad competente. Es decir, estas autoridades de certificacin
sernautorizadaspororganismosdemximaconfianza,generalmen
tepblicos.
Porejemplo,Verisignpuedeemitircertificadosdigitalesautori
zadosporunorganismoautorizador(queenEspaaeslaCasadela
MonedayTimbre).
UtilizamosloscertificadosconelDNIdigitalyconlasconexio
nesHTTPSparatrmitesbancarios.
SecureSocketsLayer(SSL).
Estndarabiertopropuestoparaestableceruncanaldecomu
nicacionesseguroqueimpidalainterceptacindeinformacin
crtica,comoelnmerodelastarjetasdecrdito.Principalmen
te,permitelastransaccionesfinancieraselectrnicassegurasen
elWorldWideWeb,aunqueestdiseadoparafuncionartam
binenotrosserviciosInternet.
TransportLayerSecurity(TLS).
PREGUNTAS.
1.
2.
3.
4.
5.
63
Queslacriptografa?
Qutipodecifradoshayencriptografa?
Describeloselementosyelprocesodedescifradoconcada
unodeestostipos.
Ventajasydesventajasdeestostipos.
Describir elprocesoporelque podremos asegurar la inte
gridaddelmensajeylaidentidaddelemisor.