ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
Tema01
1. 1.1. Definiciónde plataformatecnológica.
El sistemade unacomputadorapersonal modernaconsiste principalmente enunaunidadde
procesamientocentral (CPU) paralarealizaciónde cálculos,yenmemoriaparaalmacenarlos
datosque el procesadorutiliza;sinembargo,unaPCapagada esuna colecciónde
componentesde hardware que noharánnada hastaque seanreprogramados;paraelloes
necesariode otroconjuntode aplicacionesde softwareconocidascomoSistemaOperativo,
que permitirángestionarlosrecursosfísicosde lacomputadora.Mclvery Flynn(2011, pág.4)
señalanque el SistemaOperativoeslaporcióndel sistemade cómputoque gestionatodoel
hardware y todoel software.
Tal como se ha descrito,cadaelementode maneraindependiente noposibilitaninguna
capacidadcomputacional parael usuario,sinoque debenintegrarsede formacoherente y
asegurandolacompatibilidadentre ellos.
2. La plataformatecnológicaesutilizadaparaadquirir,almacenar,procesar,distribuiryrecuperar
datose informaciónenlabase sobre laque construyenlos sistemasde información,los
recursosde información,losrecursosorganizativosyel entornodel negocio(Ramos,1998)1
Entonces,podemoscolegirque unaplataformatecnológicaesel conjuntode componentesde
la arquitecturatecnológicade hardware ydel software,que incluyenmecanismosparael flujo
de informaciónycontrolesque asegurenlacompatibilidadde laarquitectura;yal operar,dan
una respuestaadecuadaalasnecesidadesde lainformaciónde laorganizaciónque la
implementa.
Una plataformatecnológica,puedeconsiderarse tambiéncomoel conjuntode infraestructuras
y arquitecturasparala distribuciónde contenidosyserviciosenlínea.Comotal puede formar
parte una solaorganización,opuede agrupara investigadores,empresasyotrasentidades
interesadasenuncampoo sectorparticular. Hoy endía, las plataformasTecnológicasanivel
mundial consideranlacapacidadde integrarse entre ellasatravésde lasredescomola
Internet.
En este sentido,el informe “PlataformasTecnológicas Europeas –Conocerpara Crecer”señala
que “las PlataformasTecnológicasdesempeñanunafunciónprimordial paraalinearmejorlas
prioridadesde investigaciónconlasnecesidadesde laindustria;abarcanla cadenacompleta
del valoreconómico”.(Comisión Europea,2005)
1.2. ComponentesGenerales.
Comoya se ha indicadounaplataformastecnológicadebe satisfacerlasnecesidadesde
informaciónde laorganización;ala vezque debe asegurarcompatibilidadentre cadaunode
sus componentes;pero,¿cuálessonestoscomponentes?
Además,ladefiniciónde unaplataformatecnológicadebe incluirlossiguientesobjetivos:
Seleccionarlastécnicasde gestiónque permitanexplotarlade lamaneramás eficazposible.
Preverel redimensionamiento.
Planificarlaevoluciónde lapropiaplataforma.
Una plataformatecnológicaincluyediferentescomponentes,que puedenestar
comprendidosenel Planode Infraestructura,PlanoFuncional yServiciosde Comunicación.
3. Los componentesde unaplataforma tecnológicaincluyen:
PlanoFuncional.
Aplicacionesde negocioyde soporte al negocio.
Herramientasde productividad.
Accesomulticanal alas aplicacionesde maneralocal oremota.
Redesde área local encada dependenciade laempresa.
Serviciosde telefoníafijaymóvil.
Mecanismosque establezcanperímetrosde seguridad.
Herramientasparala gestiónintegradade todalaplataformatecnológica
Componentesde laPlataformaTecnológicaenel PlanoFuncional
Planode Infraestructura.
Servidoreshardware
Sistemasde almacenamiento(Storages)
SistemasOperativos.
Firewalls,proxys,IDS,yotrasherramientasde seguridad.
ConmutadoresLAN yWAN.
Centralitastelefónicasycircuitosde accesode voz y datos.
4. Componentesde laPlataformaTecnológicaenel Planode Infraestructura
Serviciosde Comunicación
Líneas dedicadas
Accesoa InternetyVPN.
1.3. Sistemasoperativos.
Todoslos usuariosde computadoratenemos,unosmásyotros menos,experienciaconun
sistemaoperativo,e inclusoalgunosloutilizamoscasi de formainconsciente,pensandoque
muchasde lasfuncionesque ejecutansonparte de lasaplicacionesde usuario,cuandoen
realidadle correspondenal sistemaoperativo.
Un sistemaoperativoesunprogramaque controlala ejecuciónde losprogramasde aplicación
y que actúa como interfazentre el usuariode uncomputadoryel hardware de la misma
(Stallings,1997).
El sistemaoperativoesunacapade software que estásobre laparte superiordel hardware
descubierto;de estamanerase manejantodaslaspartesdel sistemayse presentaal usuario
una interfazomáquinavirtual que esmásfácil de entenderyprogramar.
1.3.1. El Kernel,Tiposde Kernel
Reflexiona
¿Cuál es laparte más importante de unsistemaoperativo?
¿De qué manerapodemosclasificaral Kernel?
Debessaberque el Kernel eslaparte central del sistemaoperativo.Contieneel códigode
máquinapara administrarel hardware paraotrosprogramas que necesitanestosservicios.
El Kernel eslaparte esencial del sistemaoperativoque permanece enlamemoriade acceso
aleatorio(RAM) yescargada con laejecuciónde lastareasmás importantesdel sistema,como
la administraciónde memoriaprincipalyel accesoa disco(Flynn,2011).
Hay cuatro grandestiposde Kernel:
5. Los núcleosmonolíticosfacilitanabstraccionesdel hardware subyacenterealmentepotentes
y variadas.
Los micronúcleos(omicrokernel)proporcionanunpequeñoconjuntode abstracciones
simplesdel hardware,yusanlasaplicacionesllamadasservidoresparaofrecermayor
funcionalidad.
Los híbridos(micronúcleosmodificados) sonmuyparecidosalosmicronúcleos puros,
exceptoporque incluyencódigoadicional enel espaciode núcleoparaque se ejecute más
rápidamente.
Los exonúcleosnofacilitanningunaabstracción,peropermitenel usode bibliotecasque
proporcionanmayorfuncionalidadgraciasal accesodirectoo casi directoal hardware.
Los SistemasOperativosLibrescomoLinux,permitenvereditarydistribuirlibrementeel
códigofuente de suKernel,laúltimaversiónestable de éste Kernel (paracuandose escribió
este guía) es la3.13.2, lanzadael 11 de Febrerodel 2014. El Kernel enLinux,reside enel
archivovmlinuz;enWindowsXPenkrnl386.exe yel Kernel de MacOSXse llamaDarwin.Si
deseasprofundizarmássobre el kernel de Linux puedesrevisarwww.kernel.org.
Al respectote invitoaleerla siguientelectura:
Estructuras de losSistemasOperativos
Los sistemasOperativosactuales,presentandiferentesestructurasafinde satisfacerlas
necesidadesque de ellosse quierenobtener.Asítenemos:
Estructura Monolítica:
Son aquellosque incluyentodalafuncionalidaddel SOenungran bloque de códigoque se
ejecutacomoun soloprogramacon un únicoespaciode direcciones.Este programaestá
compuestode unconjuntode rutinasentrelazadasde tal formaque cada una puede llamara
cualquierotra.
Los componentesdel SOse ejecutanenmodokernel;larelaciónentre ellosescompleja.
No sonfiables:unfallode algúnmódulopuedeprovocarla“caída” del sistema.
Son eficientesyrápidosenlaejecución.EjemploSOUNIX,SOVMS.
Estructura por Capas
6. Implementadocomounaserie de capas;cada unade lascualesesuna máquinamás
abstracta para la capa superior,de tal formaque cadauna de ellasestuvieraperfectamente
definidayconuna clara interfase conel restode elementos.
El primerode losSO de este tipofue denominadoTHE(Technische Hogeschool,Eindhoven),
de Dijkstra,que se utilizóconfinesdidácticos
Por modularidad,lascapasse seleccionanparaque cada unautilice sólofuncionesde las
capas inferiores.
Entre losincovenientesque presentanestánel que existesobrecargade comunicaciones
entre lasdistintascapas;y,a menudo,lossistemasse modelanconestaestructuraperonose
construyenasí,puesresultansermuycomplejos.
Estructura de Máquina Virtual
Sigue el enfoque de capasparasu conclusiónlógica.
La MáquinaVirtual creamúltiplesréplicasidénticasdel hardware.
El SO crea la ilusiónde alosmúltiplesprocesos,de que cadaunoestáejecutándoseensu
propiaCPU con su propiamemoria;idénticaala máquinareal subyacente.
El núcleode estossistemasoperativosse denominamonitorvirtual ytiene comomisión
llevaracabo la multiprogramación,presentandoalosnivelessuperiorestantasmáquinas
virtualescomose soliciten
Proceso:
El aislamientode cadamáquinavirtual,aseguralaprotecciónde losrecursos.
Sirve investigar/desarrollarSO’s:nointerrumpe el funcionamientodelsistema,ypermite
usar susherramientas(editor,compilador,etc.)
Permite laejecuciónde aplicacionesrealizadasparaotroSO, p.ej.ventanaMS-DOSde
Windows9x.
Dado el aislamientode cadamáquinavirtual,lacomparticiónde recursosnoesfácil.
7. Son difícilesde implementarperfectamentedebidoalacomplejidadde crearunduplicado
exactodel hardware.
EjemploSOVM/370
Estructura MicroKernel
Esta estructura asignasolamente algunas funcionesesencialesal núcleo,incluyendo
espaciosde direcciones,comunicaciónentre procesosyplanificaciónbásica.Losotrosservicios
del SOlos proporcionanprocesosllamados “servidores”.
Es más fiable puesunposible errorde unserviciodel SOquedaconfinadoenel espaciode
direccionesdel procesoque loimplementa.
Es extensible ypersonalizable
La estructuraMicroKernel esmásflexibleque lamonolítica,perotienepeorrendimiento
que la Monolítica,por losconstantescambiosde modoyespaciosde direcciones
1.3.2. Administradorde procesos
Reflexiona
¿Qué es unproceso?
¿En qué estadopodemosencontrarunproceso?
¿Cómoadministralosprocesosel sistemaoperativo?
Un procesoes enesenciaunprogramaen ejecución.Cadaprocesotieneasociadounespacio
de direcciones,unalistade ubicacionesde memoriaque vadesde algúnmínimohastacierto
valormáximo,donde el procesopuedeleeryescribirinformación.(Tanenbaum, 2009).
Para entendercómofunciona el administradorde procesosconsideremostresestadosbásicos
de un proceso:
Ejecutándose:Usandoal procesadorenese instante.
8. Listo:Se puede ejecutar,perose suspendiótemporalmente paradejarque otroprocesose
ejecute
Bloqueado:Nopuede ejecutarse entantonoocurra un eventoexterno.
Un procesopuede encontrarse enestado“enejecución”,“bloqueado”o“listo”.Las
transicionesentre estosestadossoncomose muestran:
El procesose bloqueapararecibirentrada
El planificadorseleccionaotroproceso
El planificadorseleccionaeste proceso
La entradaya estádisponible
Fuente:Tanenbaum(2009)
Para que el sistemaoperativopuedalocalizartodalainformaciónimportante acercade un
proceso,utilizaunalmacéncentral denominadoBloque de Control de Procesoso(Process
Control Block,PCB).
Bloque de Control de Proceso
Un programa esuna entidadpasiva,unalistade instrucciones;porotrolado,un procesoes
una entidadactiva,que definelaactuaciónque tendráel sistemaempleandounprograma.
9. Para entendermejorestaseccióndefiniremosalgunosconceptosimportantesconrespectoa
losprocesos.
Multiprogramación.- A menudolosautoresse refierenamultiprogramacióncuandose tiene la
capacidadde administrarvariosprocesosconunsoloCPU.
Multiprocesamiento.- Porotraparte este términose refiere alagestiónbasadaenla
distribuciónde procesosenmúltiplesprocesadores,pudiéndoseobservardostiposde
arquitecturas:SimétricayAsimétrica
Planificador.- Enlassituacionesenlasque haydoso más procesosporejecutarse,el S.Odebe
decidircuál ejecutaráprimero.Laparte del SO que tomaesa decisiónse denominaplanificador
y el algoritmoque emplease denominaalgoritmode planificación.
Políticasde planificaciónapropiativasynoapropiativas.- Ladenominaciónde Expropiativay
No expropiativase hatomadosegúnTannebaum(2003),que es equivalentealas
denominaciónde PreferenteyNopreferenteque señalaStallings(2001).
Apropiativa=Es una estrategiade planificaciónque puede INTERRUMPIRel procesamientode
un determinadoprocesoytransferirel procesadoraotro proceso,esmuyempleadaen
ambientesde tiempocompartido.
Ventajas:Laapropiaciónnosaseguraque un trabajono bloqueaaotro igualmente importante.
Desventajas:Cuestionesatenerencuenta,como:¿Cuándoapropiar?¿entiempode
interrupción?¿Tamañode lafracciónde tiempo?Afectaal tiempode respuestaya la
productividadyporende a lacarga general del sistema.
No Apropiativa=Funcionasininterrupcionesexternasal proceso.Porlotantouna vezque el
procesocaptura al procesadore inicialaejecución,se mantienenenel estadode ejecución
hasta que emite unasolicitudde E/S(esperanatural) ohastaque termina.
Ventajas:Simplificalasincronizaciónde hebras/procesos.
Desventajas:Laplanificaciónnoapropiativarequiereque losprocesosinvoquen
explícitamente al planificador.Unprocesoerróneopuede derrumbarel sistema.
1.3.3. Administradorde memoria
Reflexiona
¿Por qué esimportante laadministraciónde memoria?
¿Qué tiposde memoriaexistenyque loshace diferentes?
Recordemosque cuandohablamosdel administradorde memoria,nosestamosrefiriendoala
administraciónde lamemoriaprincipalde accesoaleatorio(RAM).Sutrabajoesadministrarla
memoriaconeficiencia:llevarel registrode cuálespartesde lamemoriaestánenuso,asignar
10. memoriaa losprocesoscuandola necesitenydesasignarlacuandoterminen.(Tanenbaum,
2009).
Flynn(2011) señalaque una responsabilidadprimordial del administradorde memoriaes
protegerel espaciode memoriaprincipalocupadoporel sistemaoperativoensí:no puede
permitirque ningunaparte de éstaseaasignadao modificadaaccidentalmente
Jerarquíade Memorias.
Stallings(1998),señalaque lasrestriccionesde diseñode lamemoriade uncomputadorse
puedenresumirentrescuestiones:¿Cuánta?,¿Cuanrápida?¿De qué coste?
A partirde estascaracterísticasde capacidad,rapidezycosto losdiseñadoreshan establecido
una jerarquíaque se debe conjugarpara obtenerlosmejoresresultadosauncosto razonable:
Registros
Aunque siempre se hablade unprocesadorcomounaestructuramonolítica,enrealidadestá
compuestopordiferentesmódulos,siendounode losprincipaleslosregistros.Estoscumplen
funcionesde almacenamientode datosaunque de unamaneramuchísimomásrápidaque si
se utilizaralamemoriaprincipal.
Los registrosdel procesadorse dividensegúnsufunciónendosgrandesbloques:
Registrosde control y estado:Estossonde usocasi exclusivodel procesadorparasu
funcionamientointerno(control de operaciones) yporalgunasrutinasespecialesenlos
sistemasoperativos(parael control de laejecuciónde losprogramas).
Registrosde usuario:Estosregistrospuedenserutilizadosporlosprogramasde usuariosque
requieranlautilizaciónde pequeñosespaciosde almacenamientoperode granvelocidad,sin
embargoesde aclarar que no todosloslenguajesde programaciónpermitenlacreaciónde
programasque puedaninteractuarcon estos,tansóloalgunospocos(porejemploC).
MemoriaPrincipal
Almacenalosdatosy losprogramas.Esta memorianormalmenteesvolátil;tambiénse la
conoce como memoriareal oprincipal.Stallings(1997).Sobre éstatrabaja el administradorde
memoria.
11. MemoriaAuxiliar
A la memoriaexterna,novolátil,tambiénse le denominamemoria secundariaoauxiliar.Esta
se usa para almacenarprogramas y archivosde datosy sólosuele servisible parael
programadoren formade archivosy registrosyno mediante bytesopalabrasindividuales.
Stallings(1997).La memoriaauxiliarsueleresidir endiscosmagnéticos,cintasmagnéticas,
discosópticos,discossólidos.
1.3.4. Administradorde dispositivosde E/S
Reflexiona
¿Por qué esimportante laadministraciónEntrada/Salidaenunsistemaoperativo?
¿Qué funcionestieneel administradorde Entrada/Salida?
Es importante tenerpresenteque el manejode EntradasySalidasesuno de losaspectosmás
difícilesde incorporaraun SistemaOperativo,debidoalagran cantidadde dispositivos
diferentesdisponiblesenel mercado,e inclusoparael mismotipode dispositivoexiste una
gran cantidadde marcas diferentes.
La administraciónde Dispositivoscomprende lassiguientesfuncionesbásicas:
Controlarel estadode cada dispositivo.
Utilizarpolíticaspreestablecidasparadeterminarqué procesoobtendráundispositivoy
durante cuantotiempo.
Asignary desasignarlosdispositivos.
Flynn(2011) señalaque loscomponentesdel subsistemade Entrada/Salidarealizanlas
siguientesfunciones.El canal de E/S se ocupa de las solicitudesde E/Sprovenientesde laCPU
y pasárselasala Unidadde Control de E/S idóneoloscualesusanprogramasde canal de E/S
que especificanlasaccionesque debenrealizarlosdispositivos.Algunossistemastambién
tienenuncontroladorde discoo interfazde discoduro,utilizadoparaenlazarlasunidadesde
discocon el bus del sistema.
.3.5. Administradorde archivos
Reflexiona
12. ¿Cómose administranlosdatosyla informaciónenel largoplazo?
¿Qué tiposde sistemasde archivosexisten?
Flynn(2011) describe al administradorde archivoscomoel software responsablede crear,
borrar, modificarycontrolarel acceso a losarchivos,así como tambiénde administrarlos
recursosusadospor losarchivos.
Un archivo esuna unidadde almacenamientológiconovolátil que agrupaunconjuntode
informaciónalargoplazo.Desde el puntode vistadel usuario,el archivoeslaúnicaforma de
gestionarel almacenamientosecundario,porloque esimportante enunsistemaoperativo
definircomose nombranlosarchivos,que operacioneshaydisponiblessobre losarchivos,
como percibenlosusuarioslosarchivos,etc.
Tanenbaum(2009) señalatresrequerimientosesencialesparael almacenamientode
informaciónalargoplazo:
Debe serposible almacenarunacantidadmuygrande de información.
La informacióndebe sobrevivirala terminacióndel procesoque lautilice.
Múltiplesprocesosdebensercapacesde accedera la informaciónconcurrentemente.
La soluciónusual atodasestasexigenciasesalmacenar lainformaciónendiscosyotros
mediosexternosenunidadesllamadasarchivos.Lainformaciónalmacenadaenarchivosdebe
serpersistente,esdecir,noserafectadasporlacreacióny terminaciónde procesos.Los
archivossonadministradosporel sistema operativo.
La formacomo se estructuran,nombran,acceden,usan,protegene implementansontemas
importantesenel diseñode sistemasoperativos.
Organizaciónde Archivos.
De acuerdocon TANENBAUM(2009), Los sistemasde archivosse almacenanendiscos. Casi
todoslosdiscospuedendividirse enunaomásparticiones,consistemasde archivos
independientesencadapartición.El sector0 de discose llamaregistromaestrode arranque
(MBR, Master Boot Record) ysirve para arrancar lacomputadora.El final del MBR contiene la
tablade particiones.Estatablacontienenlasdireccionesinicial yfinal de cadapartición,una
de las particionesestámarcadacomoactiva.