You are on page 1of 34

Pate I : Frannys

Gestin de memoria La memoria es uno de los recursos ms importantes de la computadora y, en consecuencia, la parte del sistema operativo responsable de tratar con este recurso, el gestor de memoria, es un componente bsico del mismo. El gestor de memoria del sistema operativo debe hacer de puente entre los requisitos de las aplicaciones y los mecanismos que proporciona el hardware de gestin de memoria. Se trata de una de las partes del sistema operativo que est ms ligada al hardware. Esta estrecha colaboracin ha hecho que tanto el hardware como el software de gestin de memoria hayan ido evolucionando juntos. Las necesidades del sistema operativo han obligado a los diseadores del hardware a incluir nuevos mecanismos que, a su vez, han posibilitado el uso de nuevos esquemas de gestin de memoria. Sea cual sea la poltica de gestin de memoria empleada en un determinado sistema, se pueden destacar las siguientes caractersticas como objetivos deseables del sistema de gestin de memoria: Ofrecer a cada proceso un espacio lgico propio. Proporcionar proteccin entre los procesos. Permitir que los procesos compartan memoria. Dar soporte a las distintas regiones del proceso. Maximizar el rendimiento del sistema. Proporcionar a los procesos mapas de memoria muy grandes. Compartimento de memoria Para cumplir el requisito de proteccin, el sistema operativo debe crear espacios lgicos independientes y disjuntos para los procesos. Sin embargo, en ciertas situaciones, bajo la supervisin y control del sistema operativo, puede ser provechoso que los procesos puedan compartir memoria. Esto es, la

posibilidad de que direcciones lgicas de dos o ms procesos, posiblemente distintas entre s, se correspondan con la misma direccin fsica. Ntese que, como puede observarse en la Figura la posibilidad de que dos o ms procesos compartan una zona de memoria implica que el sistema de gestin de memoria debe permitir que la memoria asignada a un proceso no sea contigua. As, por ejemplo, una funcin de traduccin como la comentada anteriormente, que nicamente sumaba una cantidad a las direcciones generadas por el programa, obligara a que el espacio asignado al proceso fuera contiguo, imposibilitando, por tanto, el compartir memoria. Zona priv. 1 (P1) Zona priv. 1 (P2) Mapa proceso 1 Memoria poder

Zona compartida

Zona privada 1 Zona compartida Zona privada 2 Zona priv. 2 (P2) Zona priv. 2 (P1)

Zona privada 2 Zona privada 1 Zona compartida Zona privada 2

Memoria virtual La memoria virtual es una tcnica de gestin de la memoria que permite que el sistema operativo disponga, tanto para el software de usuario como para s mismo, de mayor cantidad de memoria que la disponible fsicamente.

La mayora de los ordenadores tienen cuatro tipos de memoria: registros en la CPU, la memoria cach (tanto dentro como fuera del CPU), la memoria RAM y el disco duro. En ese orden, van de menor capacidad y mayor velocidad a mayor capacidad y menor velocidad. Muchas aplicaciones requieren acceso a ms informacin (cdigo y datos) que la que se puede mantener en memoria fsica. Esto es as sobre todo cuando el sistema operativo permite mltiples procesos y aplicaciones ejecutndose simultneamente. Una solucin al problema de necesitar mayor cantidad de memoria de la que se posee consiste en que las aplicaciones mantengan parte de su informacin en disco, movindola a la memoria principal cuando sea necesario. Hay varias formas de hacer esto. Si el equipo no tiene suficiente memoria de acceso aleatorio (RAM) para ejecutar un programa o una operacin, Windows usa la memoria virtual para compensar la falta. La memoria virtual combina la RAM del equipo con espacio temporal en el disco duro. Cuando queda poca RAM, la memoria virtual mueve datos de la RAM a un espacio llamado archivo de paginacin. Al mover datos al archivo de paginacin y desde l, se libera RAM para completar la tarea. Cuanto mayor sea la RAM del equipo, ms rpido tendern a ejecutarse los programas. Si el equipo se ralentiza porque falta RAM, puede considerar la posibilidad de aumentar la memoria virtual para compensar. Sin embargo, el equipo puede leer los datos de la RAM mucho ms rpido que de un disco duro, por lo que la mejor solucin es agregar RAM. La tcnica de la MV se usa prcticamente en todos los SSOO modernos. Esta tcnica se basa en transferir informacin entre memoria principal y memoria secundaria (por lo que involucra varios niveles de la jerarqua de memoria) Suele implementarse en un esquema de paginacin (es decir, la unidad de informacin intercambiada entre los diferentes niveles de la jerarqua de memoria es la pgina)

Elemento Clave: Proximidad referencial habitual de los procesos. Esta propiedad permite que un proceso puede funcionar disponiendo en memoria de una parte de su imagen de memoria (conjunto residente). Objetivo final: conseguir que la informacin necesaria para un proceso (conjunto de trabajo) vaya ocupando la memoria principal segn se va necesitando (es decir, conjunto de trabajo === conjunto residente) Ventajas: Aumento del grado de multiprogramacin. Por tanto, aumento en el rendimiento del sistema. Posibilidad de ejecutar programas ms grandes que la MV disponible El uso de la MV no implica que se acelere la ejecucin del programa (ms bien al contrario, debido a la sobrecarga asociada a los movimientos de informacin entre niveles de la jerarqua). Este mecanismo no es apropiado para sistemas de tiempo real.

Multiprogramacin de Particin Fija Los sistemas de un solo usuario desperdician gran cantidad de recursos computacionales debido a que Cuando ocurre una peticin de E/S la cpu normalmente no puede continuar el Proceso hasta que concluya la operacin de E/S requerida. Los perifricos de E/S frenan la ejecucin de los procesos ya que comparativamente La cpu es varios rdenes d e magnitud ms rpida que los dispositivos de E/S. Los sistemas de multiprogramacinpermiten que varios procesos usuarios compitan al mismo tiempo por los recursos del sistema.

Utilizacin de la cpu en un sistema de un solo usuario. Untrabajoenesperadee/scederlacpuaotrotrabajoqueestlistoparaefectuar cmputos. Existeparalelismoentreel procesamientoylae/s. Seincrementalautilizacindelacpuylacapacidadglobal deejecucindel sistema. Esnecesarioquevariostrabajosresidanalavezenlamemoriaprincipal.

MultiprogramacindeParticinFija: TraduccinyCargaAbso-lutas Lasparticionesdel almacenamientoprincipal: Sonde tamaojo. Alojanunprocesocadauna. Lacpuse cambiarpidamente entre los procesos creandolailusindesimultaneidad. Lostrabajossetraducanconensambladoresycompiladoresabsolutosparaserejecu -tadossolodentrodeunaparticinespecca. 5 El S. O. resultadeimplementacinrelativamentesencillaperonoseoptimizalautilizacindelamemoria.

Multiprogramacin de Particin Fija: Los compiladores, ensambladores y cargadores de relocalizacin: Se usan para producir programas relocalizables que puedan ser ejecutados en cualquier particin disponible de tamao suficiente para aceptarlos. Son ms complejos quelosabsolutos. Mejoranlautilizacindel almacenamiento. Conerenmsexibilidadenel armadodelacargadeprocesos.

ProteccinenlosSistemasdeMultiprogramacin Si seutilizaasignacincontiguadememorialaproteccinsueleimplementarseconvario s registrosdelmites. 7 Losextremossuperioreinferiordeunaparticinpuedenser: Delineadoscondosregistros.

Indicadosel lmiteinferiorosuperioryel tamaodelaparticinoregin. 3.5.4 FragmentacinenlaMultiprogramacindeParticinFija Lafragmentacindealmacenamientoocurreentodoslossistemasindependientem ente desuorganizacindememoria. EnlosS.O.demultiprogramacindeparticinjalafragmentacinseproducecuand o: 7 Ver Figura3.7delapgina73yFigura3.8delapgina73[7, Deitel]. 74 CAPTULO3. ADMINISTRACINDELAMEMORIA Lostrabajosdel usuarionollenancompletamentesusparticionesdesignadas. Una particinpermanece sinusar porque es demasiado pequea para alojar un trabajoqueestenespera. 3.6 Multiprogramacin de Particin Variable Los procesos ocupan tanto espacio como necesitan, pero obviamente no deben superar el espacio disponible de memoria. No hay lmites de memoria, es decir que la particin de un trabajo es su propio tamao. Se consideran esquemas de asignacin contigua, dado que un programa debe ocupar posiciones adyacentes de almacenamiento. Los procesos que terminan en disponibles espacios de memoria principal llamados agujeros: Pueden ser usados por otros trabajos que cuandoanalizan a otros pueden ser llamados agujeros menores. En sucesivos pasos los agujeros son cada vez ms numerosos pero ms pequeos, por lo que se genera un desperdicio de memoria principal. Combinacin de agujeros (reas libres)

Consiste en fusionar agujeros adyacentes para formar uno sencillo ms grande. Se puede hacer cuando un trabajo termina y el almacenamiento que libera tiene lmites con otros agujeros.

CompresinoCompactacindeAlmacenamiento Puedeocurrirquelosagujeros(reaslibres)separadosdistribuidosportodoel almacena-mientoprincipal constituyanunacantidadimportantedememoria: Podrasersuciente(el total global

disponible)paraalojaraprocesosencoladosen esperadememoria. Podranosersucienteningnrealibreindividual. 9 La tcnica de compresinde memoria implica pasar todas las reas ocupadas del almacenamientoaunodelosextremosdelamemoriaprincipal: Dejaunsoloagujerograndedememorialibrecontigua. Estatcnicasedenominarecogidaderesiduos.

10

Asignacindeparticionesiniciales enlamultiprogramacindeparticinva-riable

Agujerosdelalmacenamientoenlamultiprogramacindeparticinvariable.

MultiprogramacinconIntercambiodeAlmacenamien-to Enel usuarionorequierenpermanecerenla memoriaprincipal hastasuterminacin[7, Deitel]. Unavarianteconsisteenqueuntrabajoseejecutahastaqueyanopuedecontinuar: Cedeel almacenamientoylacpual siguientetrabajo. Latotalidaddel almacenamientose dedicaauntrabajoduranteunbreve perodo detiempo. dndosequeuntrabajopuedeserintercambiado variasvecesantesdellegarasuterminacin. Lostrabajossonintercambiados, esquemadeintercambiolosprogramasdel

OrganizacindelAlmacenamientoVir-tual Almacenamientovirtualsignicalacapacidaddedireccionar unespaciodealmacena-mientomuchomayor almacenamientoprimariodedeterminado sistemadecomputacin[7, Deitel]. Estatecnologaaparecien1960enlaUniversidaddeManchester(Inglaterra), enel sistemaAtlas. Losmtodosmscomunesdeimplementacinsonmediante: Tcnicasdepaginacin. Tcnicasdesegmentacin. queel disponibleenel

Unacombinacindeambastcnicas. Las direcciones generadas por losprogramas ensuejecucinnoson,

necesariamente, aquellascontenidasenelalmacenamientoprimario(memoriareal),yaquelasdireccio nes virtualessuelenseleccionarsedentrodeunnmeromuchomayor quelas disponiblesdentrodel almacenamientoprimario. Laevolucinenlasorganizacionesdealmacenamientopuederesumirsecomo sigue: Real: Sistemasdedicadosaunsolousuario. Real: Sistemasdemultiprogramacinenmemoriareal: Multiprogramacinenparticinja: Absoluta. Relocalizable(reubicable). Multiprogramacinenparticinvariable. Virtual: Multiprogramacinenalmacenamientovirtual: Paginacinpura. Segmentacinpura. Combinacinpaginacin/segmentacin. dedirecciones

Memoria virtual La memoria virtual es el mecanismo ms general para la ejecucin de programas no enteros en memoria. Se basa en un sistema de paginacin (o combinado) en el que slo un subconjunto de las pginas del programa estn cargadas en memoria. El resto reside en un dispositivo de almacenamiento secundario, anlogamente al de swap7. La memoria virtual presenta, adicionalmente a su capacidad para ejecutar programas mayores que la memoria fsica disponible, un conjunto de interesantes ventajas con respecto a la paginacin con programas enteros: 7 Como se ver ms adelante, la memoria virtual se suele combinar con el swapping de procesos, por lo que el dispositivo de paginacin y swap sern una misma cosa. Sistemas Operativos II Gestin de la memoria 99 Reduce la latencia en la ejecucin de los programas, al no tener stos que cargarse completamente para comenzar a ejecutarse. Permite gestionar ms eficientemente la memoria fsica. Cualquier espacio libre, incluso una nica pgina, puede ser aprovechado para cargar un nuevo programa y comenzar a ejecutarlo. Por otra parte, si una pgina de un programa no se referencia durante la ejecucin, no habr que cargarla. Al aumentar el grado de multiprogramacin a costa de reducir el nmero de

pginas cargadas de cada programa, permite incrementar la eficiencia de la CPU en sistemas multiprogramados8. Ahora la independencia de los programas con respecto a la mquina es completa. Adems del direccionamiento virtual que aporta la paginacin, la cantidad de memoria fsica disponible para ejecutar el programa slo es relevante para la velocidad de ejecucin del programa.

3.9 Conceptos Bsicos de Almacenamiento Virtual La clave del concepto de memoria (almacenamiento) virtual esta en la disociacin: De las direcciones alas que hace referencia un programa. Delasdireccionesdisponiblesenlamemoriareal (almacenamientoprimario). Losprincipalesconceptossonlossiguientes: Direccionesvirtuales: Sonlasreferidasporunprocesoenejecucin. Direccionesreales:

Sonlasdisponiblesdentrodel almacenamientoprimario. Espaciodedireccionesvirtuales(v)deunproceso: Esel nmerodedireccionesvirtualesaquepuedehacerreferenciael proceso. Espaciodedireccionesreales(r)deuncomputador: Esel nmerodedireccionesrealesdisponiblesenel ordenador. Losprocesoshacenreferenciaadireccionesvirtuales perostasdebenejecutarseenel almacenamientoreal: Las direcciones virtuales debenser transformadas dentrode las direcciones reales, mientrasel procesoestenejecucin. Latraduccindedirecciones deberhacerserpidamenteparanodegradaral

siste-ma

Transformacinde tems del espaciode direcciones virtuales al espaciode

direccionesreales. Existenvariosmediosparaasociarlasdireccionesvirtualesconlasreales. 12 Losmecanismosdetraduccindinmicadedirecciones(dat)conviertenlasdireccio -nesvirtualesenrealesal ejecutarseel proceso. Lasdireccionescontiguasdentrodel espaciodedireccionesvirtualesdeunprocesono tienenpor qu ser contiguas dentrodel almacenamientoreal, aestose

denominacon-tigidadarticial Paginacin El trmino memoria virtual se asocia normalmente con sistemas que emplean paginacin, aunque tambin se puede usar memoria virtual basada en la segmentacin. El uso de la paginacin en la memoria virtual fue presentado por primera vez en el computador Atlas. Cada proceso tiene su propia tabla de pginas y cuando carga todas sus pginas en la memoria principal, se crea y carga en la memoria principal una tabla de pginas. Cada entrada de la tabla de pginas contiene el nmero de marco de la pgina correspondiente en la memoria principal. Puesto que slo algunas de las pginas de un proceso pueden estar en la memoria principal, se necesita un bit en cada entrada de la tabla para indicar si la pgina correspondiente est presente (P) en la memoria principal o no. Si el bit indica que la pgina est en la memoria, la entrada incluye tambin el nmero de marco para esa pgina. Otro bit de control necesario en la entrada de la tabla de pginas es el bit de modificacin (M), para indicar si el contenido de la pgina correspondiente se ha alterado desde que la pgina se carg en la memoria principal. Si no ha habido cambios, no es necesario escribir la pgina cuando sea sustituida en el marco que ocupa actualmente.

La paginacin permite que la memoria de un proceso no sea contigua, y que a un proceso se le asigne memoria fsica donde quiera que sta est disponible. La paginacin evita el gran problema de acomodar trozos de memoria de tamao variable en el almacenamiento auxiliar. Cuando es necesario intercambiar fragmento de cdigos o datos que residen en la memoria principal, hay que encontrarles espacio en el almacenamiento auxiliar. Por sus ventajas la paginacin es de uso comn en muchos SO. Ventajas De La Paginacin Otra de la ventaja de la paginacin es la posibilidad de compartir cdigo comn. Tiene mucha importancia en un entorno de tiempo compartido. Como ejemplo de la paginacin consideremos un sistema que brinda servicio a 40 usuarios, cada uno de los cuales ejecuta un editor de textos. Si el editor de textos consta de 150 k de cdigo y 50 k de espacio de datos necesitaramos 8000 k para apoyar a los 40 usuarios. Sin embargo si el cdigo es reentrante puede compartirse.

Compartimiento de Recursos en un Sistema de Paginacin En sistemas multiprogramados, especialmente en los de tiempo compartido, es comn que ms de un usuario est ejecutando los mismos programas: Para optimizar el uso de la memoria real se comparten las pginas que pueden ser Compartidas: El compartimiento debe ser cuidadosamente controlado para evitar que un pro-ceso modifique datos que otro proceso esta leyendo. Los programas se encuentran divididos en reas separadas de

procedimiento y datos.

Los procedimientos no modificables se llaman procedimientos puros reentran-tes. Los datos y procedimientos modificables no pueden ser compartidos. Los datos no modificables (ej.: tablas fijas) son compartibles. Se debe

identificar cada pgina como compartible o no. Habr marcos (celdas)de pginas compartidos por varios procesos. El compartimiento: Reduce la cantidad de almacenamiento primario necesario para la ejecucin eficaz De un grupo de procesos. Puedehacerposiblequeunsistemadeterminadomantengaunacantidadmayorde usuarios(procesos)

Segmentacin En los sistemas de segmentacin un programa y sus datos pueden no ocupar varios bloques separados de almacenamiento real. Los bloques: No necesitan ser de igual tamao. Los bloques separados no necesitan ser adyacentes. Deben estar compuestos de posiciones contiguas de almacenamiento. Se complica la proteccin de bloques de memoria de un proceso de usuario. Es ms difcil limitar el rango de acceso de cualquier programa Un esquema posible de proteccin es el uso de claves de proteccin del almacenamiento: Las claves estn bajo el control estricto del S. O. Un programa de usuario, a quien corresponde una cierta clave en la cpu, solo puede hacer referencia a los otros bloques del almacenamiento con igual clave de proteccin. Unadireccinvirtual esunparordenadov=(s,d): 24

ses el nmero del segmento del almacenamientovirtual enel cual residenlos elementosreferidos. des el desplazamientoenel segmentosenel cual se encuentrael elemento referido. Unproceso solo puede ejecutarse si susegmento actual (comomnimo) est enel almacenamientoprimario. Lossegmentossetranserendelalmacenamientosecundarioalprimariocomounid ades completas. Unnuevosegmentopuedesercolocadoenunaseriedisponibledeposicionescontigu as del almacenamientoprimariodetamaosucienteparaalojaral segmento. Latraduccindinmicadedireccionesutilizaunatablademapadesegmentos. 3.13.1 Control de Acceso en Sistemas de Segmentacin Se le otorga a cada proceso ciertos derechos de acceso a todos los segmentos y se les niega completamente el acceso a muchos otros. Si un proceso tiene acceso de lectura aun segmento, puede obtener cualquier elemento de in formacin contenido en ese segmento.

CompartimientoenunSistemadeSegmentacin Unade las ventajas delasegmentacinsobrelapaginacines que se tratams de un Hecholgicoquefsico

Enunsistemadesegmentacin, unavezqueunsegmentohasidodeclaradocomo compartido, entonceslasestructurasquelointegranpuedencambiardetamao. Loanteriornocambiael hecholgicodequeresidenenunsegmentocompartido. Dos procesos puedencompartir unsegmento consolo tener entradas ensus tablas generalesqueapuntenal mismosegmentodel almacenamientoprimario.

SistemasdePaginacin/Segmentacin Ofrecenlas ventajas de las dos tcnicas de organizacindel

almacenamientovirtual [7, Deitel]. El tamaodelossegmentosesmltiplodel delaspginas. Noesnecesarioquetodaslaspginasdeunsegmentoseencuentrenal mismotiempo enel almacenamientoprimario.

Laspginasdealmacenamientovirtual, quesoncontiguasenestealmacenamiento, no necesitansercontiguasenel almacenamientoreal. Eldireccionamientoestridimensional v =(s,p,d): sesel nmerodel segmento. pesel nmerodepgina. d es el desplazamiento enla pgina donde se encuentra asignado el elemento deseado. Implementacin La memoria indicada mediante "mem_init" se divide en bloques de conunadireccindealmacenamientovirtual

tamao MEM_BLOQUE (por defecto 1024 bytes). Todos los bloques asignados tienen este tamao. No es posible solicitar tamaos diferentes, a menos que se utilice una librera extra (ver, por ejemplo, "memoria_temporal" en la librera comn). Es posible, no obstante, modificar el tamao del bloque a gestionar mediante la modificacin de los campos correspondientes de las estructuras MBUF, siempre sujetos a las restricciones indicadas con anterioridad. Cuando dos o ms MBUF hacen referencia al mismo bloque de memoria ste permanece asignado hasta que todos los punteros a l han sido dados de baja. En la implementacin actual un bloque slo puede ser compartido, como mximo, por 255 MBUF's diferentes. Un intento de superar dicho lmite supone un error fatal en tiempo de ejecucin. Dado que los datos de las estructuras MBUF pueden ser modificadas de forma dinmica por los diferentes procesos, el mdulo de gestin de memoria mantiene internamente un puntero a la tabla de comparticin de bloques. De esta forma se puede seguir la pista a todos los bloques asignados y compartidos aunque estos cambien de tamao y

direccin. Si no hay suficiente memoria para satisfacer una peticin, se produce un error fatal en tiempo de ejecucin.

Archivo. Una de las teoras sobre la evolucin de la palabra archivo establece su origen en el vocablo latino vulgar archivium que derivara, a su vez, del griego arkein (residencia del arconte) y que designaban, tanto el lugar donde se custodian los documentos como el conjunto de documentos all conservados. Como vemos, ya desde un principio, la idea de "archivo" va ligada a la de Administracin. Las definiciones contemporneas que hemos seleccionado a continuacin, aunque ms detalladas y ms amplias, vienen a decir prcticamente lo mismo.

Objetivos Garantizar que la informacin del archivo sea vlida. Optimizar el acceso a los archivos. Proveer soporte E/S a gran variedad de dispositivos de almacenamiento. Entregar los datos que el usuario pide. Minimizar o eliminar una potencial prdida de datos. Proveer un conjunto estndar de rutinas E/S. Proveer soporte de E/S a mltiples usuarios.

Funciones de la gestin de archivos. Identificar y localizar un archivo. Usa un directorio (como un directorio telefnico) para describir la ubicacin y atributos de un archivo.

Controla el acceso de varios usuarios a los archivos. Bloquea el uso de archivos. Ubica archivos en bloques libres. Administra el espacio libre.

Organizacin y acceso a archivos La organizacin de archivos es la estructuracin lgica de los registros determinada por su forma de acceso. La organizacin fsica de un archivo en el almacenamiento secundario depende de la estrategia de agrupacin y de la estrategia de asignacin de archivos. Para elegir una organizacin de archivos se deben tener en cuenta ciertos criterios: Si un archivo va a procesar solamente por lotes, accediendo cada vez a todos los registros, entonces el acceso rpido para la recuperacin de un nico registro es una preocupacin mnima. Un archivo almacenado en CD-ROM nunca ser actualizado, por lo que la facilidad de actualizacin no se considera. Para la economa de almacenamiento, debera existir una mnima redundancia de los datos, sta redundancia es el medio fundamental para incrementar la velocidad de acceso a los datos. Que es un directorio En informtica un directorio o a partir de Windows 95 carpetas de archivos es un contenedor virtual en el que se almacenan una agrupacin de archivos de datos y otros subdirectorios, atendiendo a su contenido, a su propsito o a cualquier criterio que decida el usuario. Tcnicamente el directorio almacena informacin acerca de los archivos que contiene: como los atributos de los archivos o dnde se encuentran fsicamente en el dispositivo de

almacenamiento.

.4.3 TiposdeArchivos Muchos S. O. soportanvarios tipos de archivos, por ej.: archivos regulares, directorios, archivos especiales decaracteres, archivos especiales debloques, etc., donde [23, Tanenbaum]: LosArchivosRegularessonaquellosquecontieneninformacindel usuario. LosDirectoriossonarchivosdesistemaparael mantenimientodeunaestructura del sistemadearchivos. LosArchivosEspecialesdeCaracteres: Tienenrelacinconlae/s. Seutilizanparamodelardispositivosserialesdee/s(terminales, impresoras, redes, etc.). LosArchivosEspecialesdeBloquesseutilizanparamodelardiscos.

OperacionesconArchivos Lasllamadasmscomunesal Tanenbaum]: Create(crear): el archivosecreasindatos. sistemarelacionadasconlosarchivosson[23,

Delete(eliminar):

si

elarchivoyanoesnecesariodebeeliminarseparaliberarespacio endisco. Ciertos S. O. eliminanautomticamente unarchivonoutilizadodurante ndas. Open(abrir): antesdeutilizar unarchivo, unprocesodebeabrirlo. Lana lidades permitir queel sistematrasladelosatributos ylalistadedireccionesendiscoala memoriaprincipal paraunrpidoaccesoenllamadasposteriores. Close(cerrar): cuandoconcluyenlosaccesos, losatributosydireccionesdel

discoya nosonnecesarios, por loque el archivodebe cerrarse yliberar latablade espacio interno. Read(leer): losdatos seleendel archivo; quienhacelallamadadebeespecicarla cantidaddedatosnecesariosyproporcionarunbuerparacolocarlos. Write(escribir): losdatosseescribenenel archivo, enlaposicinactual. El tamao delarchivopuedeaumentar(agregadoderegistros)ono(actualizacinderegistros). Append(aadir): es unaformarestringidade write. Solopuede aadir datos al nal del archivo. Seek(buscar): especicael puntodondeposicionarse. Cambialaposicinde l apun-tadoralaposicinactivaenciertolugardel archivo. Get attributes (obtener atributos): permite alos procesos obtener los atributos del archivo. Set attributes(establecer atributos): algunosatributospuedenserdeterminados por

el usuarioymodicadosluegodelacreacindel archivo. Lainformacinrelativaal mododeproteccinylamayoradelasbanderassonunejemploobvio. Rename(cambiardenombre):

permitemodicarelnombredeunarchivoyaexistente.

4.5.3 OperacionesconDirectorios Las llamadasal sistemapermitidas parael manejodelos directorios

tienenvariacinde sistemaasistema[23, Tanenbaum]. Lasmscomunessonlassiguientes: Create(crear): secreaundirectoriovaco. Delete(eliminar): seeliminaundirectorio, quedebeestarvaco. Opendir (abrir directorio): sepuedenleerlosdirectorios: Antesdepoderleerundirectorio, stedebeserabierto. Closedir (cerrar directorio): cuandose haledoundirectorio, ste debe ser cerrado paraliberarel espaciocorrespondientedelatablainterna. Readdir (leer directorio): regresalasiguiente entradaenundirectorioabierto, sin importarel tipodeestructuradedirectoriosqueseutilice. Rename(cambiar denombre): cambiael nombredeundirectoriodemanerasimilar al cambioparaarchivos.

Implantacindel SistemadeArchivosysusRelaciones conlaAsignacinyLiberacindeEspacio

Seconsideranaspectostalescomo[7, Deitel]: Laformadealmacenamientodearchivosydirectorios. Laadministracindel espacioendisco. Laformadehacerlodemaneraecienteyconable. Sedebentenerpresentesproblemastalescomolafragmentacincrecientedel espacioendisco: Ocasiona problemas de performance al hacer que los archivos se desperdiguena travsdebloquesmuydispersos. Una tcnica para aliviar el problema de la fragmentacin consiste enrealizar peridicamente: Condensacin: se puedenreorganizarlos archivos expresamente oautomticamentesegnalgncriteriopredenido. Recoleccindebasuraoresiduos: se puede hacer fuerade lneaoenlnea, conel sistemaactivo, segnlaimplementacin.

4.6.1 ImplantacindeArchivos El aspectoclave de laimplantacindel almacenamientode archivos es el registrodelos bloquesasociadosacadaarchivo[7, Deitel]. Algunosdelosmtodosutilizadossonlossiguientes: Asignacincontiguaoadyacente: Losarchivossonasignadosareascontiguasdealmacenamientosecundario. Lasprincipalesventajasson:

Facilidaddeimplantacin, yaquesoloseprecisael nmerodel bloquede inicioparalocalizarunarchivo. Rendimientoexcelenterespectodelae/s. Losprincipalesdefectosson:

Sedebeconocerel tamaomximodel archivoal crearlo. Produceunagranfragmentacindelosdiscos. Asignacinnocontigua: Sonesquemasdealmacenamientomsdinmicos, destacndoselossiguientes: Asignacinencadenadaorientadahaciael sector: El discoseconsideracompuestodesectoresindividuales. Losarchivosconstandevariossectoresquepuedenestardispersosportodo el disco. Lossectoresquepertenecenaunarchivocomncontienenapuntadoresde unoaotroformandounalistaencadenada. Unalistadeespaciolibrecontieneentradasparatodoslossectoreslibres del disco. Las ampliaciones oreducciones enel tamaode los archivos se resuelven actualizandolalistadeespaciolibreynohaynecesidaddecondensacin. Lasprincipalesdesventajasson: Debidoalaposibledispersinenel disco, larecuperacinderegistros lgicamentecontiguospuedesignicarlargasbsquedas. El mantenimiento de la estructura de listas encadenadas signica

unasobrecargaentiempodeejecucin. Losapuntadoresdelaestructuradelistaconsumenespacioendisco.

Asignacinporbloques: Esmsecienteyreducelasobrecargaenejecucin. Esunamezcladelosmtodosdeasignacincontiguaynocontigua. Seasignanbloquesdesectorescontiguosenvezdesectoresindividuales. El sistematratadeasignarnuevosbloquesaunarchivoeligiendobloques libreslomsprximosposiblealosbloquesdel archivoexistentes. Lasformasmscomunesdeimplementarlaasignacinporbloquesson: Encadenamientodebloques. Encadenamientodebloquesdendice. Transformacindearchivosorientadahaciabloques.

IMPLANTACINDELSISTEMADEARCHIVOSYSUSRELACIONESCONLAASI GNACI o Si el archivo es grande, una de las direcciones enel nodo-i es la direccindeunbloqueeneldiscollamadobloquesimplementeindirecto: - Contienelasdireccionesendiscoadicionales. -Siresultainsuciente,otradireccinenelnodo-i,elbloquedoblemente indirecto, contieneladireccindeunbloquequepresentaunalistade losbloquessimplementeindirectos:

- Cadabloquesimplementeindirectoapuntaaungrupodebloquesde datos. - Desernecesariosepuedenutilizarbloquestriplementeindirectos. 7

ModelosdeProteccin Lasmatricesdeproteccinnosonestticassinodinmicas [23, Tanenbaum]. Sepuedenidenticarseisoperacionesprimitivas enlamatrizdeproteccin: Crearobjeto. Eliminarobjeto. Creardominio. Eliminardominio. Insertarderecho. Eliminarderecho. Lasprimitivassepuedencombinarencomandos quepuedenserejecu-tadosporlosprogramasdel usuarioparamodicarlamatrizdeproteccin. Encadamomento, lamatriz de proteccindeterminaloquepuedehacer unproceso encualquiermomento; nodeterminaloquenoestautorizadoarealizar. Lamatrizesimpuestaporel sistema. Laautorizacintienequeverconlapolticadeadministracin. 4.9.5 Control deAccesoPorClasesdeUsuarios Unamatriz de control de acceso puede llegar aser tangrande que resulte imprctico deproteccin,

mantenerla[7, Deitel]. Unatcnicaquerequieremenosespacioescontrolarel accesoavariasclasesdeusua-rios. Unejemplodeesquemadeclasicacinesel siguiente: Propietario: Sueleserel usuarioquecreel archivo. Usuarioespecicado: El propietarioespecicaquinmspuedeusarel archivo. Grupooproyecto: 4.10. RESPALDOYRECUPERACIN 153 Losdiferentesmiembrosdeungrupodetrabajosobreunproyecto, accedena losdiferentesarchivosrelacionadosconel proyecto. Pblico: Unarchivopblicopuedeseraccedidoporcualquierusuariodelacomputadora. Generalmentepermiteleeroejecutarperonoescribirsobreel archivo

You might also like