Está en la página 1de 14

www.monografias.

com

Monousuarios
1. 2. 3. 4. . #. %. (. Qu es el Sistema Operativo? Historia de los Sistemas Operativos Concepto de los Sistemas Operativos Procesos !dministraci"n de la memoria Se$mentaci"n pura MS&'OS Panorama de MS&'OS

Los sistemas operativos mono usuarios son aquellos que soportan a un solo usuario a la vez, sin importar el nmero de procesadores que tenga la computadora o el nmero de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo, las computadoras personales tpicamente se han clasificado en este rengln. Multiusuarios: Los sistemas operativos multiusuarios son capaces de dar servicio a mas de un usuario a la vez, a sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en una red de comunicaciones, ni importa el numero de procesadores en la maquina ni el numero de procesos que cada usuario puede ejecutar simult!neamente. Monotareas: Los sistemas Monotareas son aquellos que solo permiten una tarea a la vez por el usuario. "uede darse el caso de un sistema multiusuario monotarea, en el cual se admiten varios usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea la vez

Qu es el Sistema Operativo?
#l $istema %perativo, es el &intermediario& entre los programas los componentes electrnicos de la computadora, es decir que es el que se encarga de la gestin de los recursos del sistema de realizar las operaciones que solicitan los programas. #stos sistemas llevan a ca'o dos funciones: ( #l sistema operativo como una maquina e)tendida: en este caso, lo que el programa hace es ocultar la verdad acerca del hardware al programador, presentar una agrada'le sencilla visin de los archivos con su nom're, en los cuales se puedan leer o escri'ir. #s decir que en esta perspectiva, la funcin del sistema operativo es presentar al usuario el equivalente de una maquina virtual, que sea m!s f!cil de programar que el hardware su' acente. ( #l sistema operativo como controlador de recursos: la funcin en este caso es la de controlar todas las piezas de un complejo sistema, es decir que la la'or que el sistema operativo de'e cumplir es la de proporcionar una asignacin ordenada controlada de los procesadores, memorias dispositivos de #ntrada*$alida para los varios programas que compiten por ellos. #n resumen, el sistema operativo sostiene que su principal tarea es la de llevar un registro de la utilizacin de los recursos, llevar la cuenta de su uso mediar entre las solicitudes en conflicto de los distintos programas usuarios.

Historia de los Sistemas Operativos


%rigen de los $istemas %perativos Las computadoras de +,-., no posean programas que a udaran a gestionar su funcionamiento. / esta organizacin se le llam $istema Monoltico facilitaran el tra'ajo a los usuarios. 0e hecho, tampoco e)istan lenguajes de alto nivel que permitieran al programador sortear las limitaciones de la computadora a la que programa'a. $i el usuario quera leer un archivo, de'a escri'ir el mismo las rutinas para poner en marcha el motor de la unidad de cintas, 'uscar la informacin, compro'ar que no e)istan errores. /dem!s, todo ello de'a realizarse en el cdigo 'inario del procesador con el que estuviera tra'ajando. 1onforme se mejora'an los circuitos electrnicos, se fueron a2adiendo facilidades va grupos de programas que permitan organizar la ejecucin de los procesos, as como el almacenamiento de los datos. 0e esta manera nacieron los $istemas de "rocesamiento por Lotes 34atch5. Los archivos 4/6 del M$70%$ son herederos directos de esta tecnologa.

"ara ver tra'ajos similares o reci'ir informacin semanal so're nuevas pu'licaciones, visite www.monografias.com

www.monografias.com

/ finales de los a2os -., dentro del mundo universitario en #stados 8nidos de /m9rica se dise2o el primer $istema %perativo moderno: Multics. #ste sistema permita un uso racional de los recursos de la computadora, automatizando el sistema de archivos, la gestin de procesos permitiendo el tra'ajo de &mltiples& usuarios en una misma m!quina. "osteriormente se crearon otros $istemas %perativos, pero el m!s importante fue 8:;<. #ste, era descendiente directo de Multics, fue implementado por primera vez para una computadora "0"7= en +,-,. 8na caracterstica que los distingui desde el principio es que no depende de la m!quina en la que funciona. $lo una peque2sima parte de su cdigo est! en ensam'lador, el resto en lenguaje 1, por lo que se e)tendi mu r!pidamente a distintas m!quinas. /ctualmente domina el mercado de Minis $uper 1omputadoras. #stos $istemas %perativos, que funciona'an en las antiguas costossimas computadoras, de'an permitir el uso de varias personas simult!neamente para aprovechar al m!)imo el rendimiento de la m!quina. $e esta'leca una estructura en la que la computadora era el centro , alrededor su o, se esta'lecan mltiples terminales sin capacidad de proceso. / estos $istemas %perativos se les llam de 6iempo 1ompartido. "osteriormente, con el a'aratamiento de los circuitos electrnicos, se comenzaron a fa'ricar Micro 1omputadoras para uso personal. #n +,>., ;4M lanz su popularsima "1 que incorpora'a la primera versin del M$70%$. 1on la aparicin de computadoras personales, se crearon los $istemas %perativos monousuario. M$70%$ es un claro e)ponente, a que slo puede tra'ajar un usuario a la vez. "or ello, este sistema no es m!s que una simplificacin de los anteriores. /l desarrollarse las comunicaciones fa'ricarse redes de computadoras, se tuvo que dise2ar otro tipo de $istema %perativo para gestionar la red. /hora, de'ido a los avances en velocidad calidad de transmisin de las telecomunicaciones, el esta'lecimiento de redes de computadoras privadas, las computadoras multiproceso al inmenso parque mundial de computadoras, se est! dise2ando una nueva arquitectura de $istema %perativo. #n ella, el mismo $istema %perativo se encuentra distri'uido por diversas m!quinas para aprovechar al m!)imo los recursos glo'ales del sistema.

Concepto de los Sistemas Operativos


La interfaz entre el sistema operativo los programas del usuario se define como el conjunto de &instrucciones ampliadas& que proporciona el sistema operativo. #stas instrucciones ampliadas se conocen como llamadas al sistema. #stas crean, eliminan utilizan varios o'jetos del software, controlados por el sistema operativo. Los m!s importantes son los procesos archivos.

Procesos
#l concepto central de cualquier sistema operativo es el proceso, una a'straccin de un programa en ejecucin. 6odos las computadoras modernas hacen varia cosas al mismo tiempo. / la vez que ejecuta un programa del usuario, una computadora puede leer de un disco e imprimir en una terminal o impresora. /unque en sentido estricto, la 1"8 ejecuta en cierto instante un solo programa, durante un segundo puede tra'ajar con vario de ello, lo que da una apariencia de paralelismo. / veces, las personas ha'lan de seudoparalelismo para indicar este r!pido intercam'io de los programas en la 1"8, para distinguirlo del paralelismo real del hardware, donde se hacen c!lculos en la 1"8 a la vez que operan uno o m!s dispositivos en #*$. #s difcil mantener un registro de las distintas actividades paralelas, los dise2adores de sistema operativos ha desarrollado un modelo que facilita el uso del paralelismo. #l modelo de proceso #n este modelo, todo el software ejecuta'le de la computadora, inclusive el propio sistema operativo, se organiza en varios procesos secuenciales, o en forma de 'reves procesos. 8n proceso es tan solo un programa en ejecucin, lo que inclu e los valores activos del contador, registro varia'les del programa. 0e manera conceptual, cada proceso tiene su propia 1"8 virtual. "or supuesto, la realidad es que la verdadera 1"8 alterna entre los distintos procesos. La diferencia entre un proceso un programa es sutil, pero tam'i9n crucial. "odemos utilizar la siguiente analoga para aclarar este punto. 1onsideremos un cientfico de la computacin con una mente culinaria, que esta cocinando la torta de cumplea2os de su hija. ?l tiene una receta para la torta de cumplea2os, una

"ara ver tra'ajos similares o reci'ir informacin semanal so're nuevas pu'licaciones, visite www.monografias.com

www.monografias.com

'uena cocina todo los ingredientes necesarios @harina, huevo, etc.A. #n esta analoga, la receta es el programa, el cientfico es el procesador @1"8A los ingredientes para la torta son los datos de entrada. #l proceso es la actividad en la que el cocinero lee la receta, 'usca los ingredientes cocina el pastel. ;maginemos ahora que su hija entra corriendo, llorando diciendo que la ha picado una a'eja. #l cientfico registra el punto de la receta donde se qued @el estado del proceso activo se resguardaA, 'usca un li'ro de primeros au)ilios comienza a seguir las instrucciones de este. /qu vemos que el procesador @el cientficoA alterna entre un proceso @cocinarA a otro de ma or prioridad @atender a su hijaA, cada uno con un programa distinto @recetario vs. Li'ro de primero au)iliosA. 0espu9s de atender la picadura, el cientfico regresa al punto donde se encontra'a. La idea clave es que un proceso es una actividad de cierto tipo. 6iene un programa, entrada, salida estado. 8n solo procesador puede ser compartido entre varios procesos. Berarqua de procesos Los sistemas operativos que soportan el concepto de proceso de'en ofrecer cierta forma de crear todos los procesos necesarios. #n los sistemas demasiado sencillos, o en los sistemas dise2ados para la ejecucin de un solo programa, es posi'le que todos los procesos que podran ser necesarios en algn momento pueden estar presentes durante la inicializacin del sistema. $in em'argo, en la ma ora de los sistemas, es necesaria una forma de crear destruir procesos cuando se requiera durante la operacin. #n algunos sistemas operativos los procesos se crean mediante llamadas a un sistema especial, este crea una copia id9ntica del proceso que hace la llamada luego el padre sigue su ejecucin en paralelo con su hijo. #l padre puede dar lugar entonces a m!s hijos. #sta forma de ejecucin se da en sistemas operativos con multiprogramacin @eje. 8:;<A. #n otros, como el M$70%$, e)iste una llamada al sistema que carga un archivo 'inario dado en la memoria lo ejecuta como un proceso hijo. "ero esta llamada suspende al padre hasta que el hijo ha finalizado su ejecucin, de forma que el hijo el padre no se ejecutan en paralelo. #stado del proceso /unque cada proceso es una entidad independiente, con su propio contador de programa estado interno, es frecuente que los procesos de'an intercam'iar con otros. #)isten tres estado del proceso a.7 #n ejecucin @utiliza la 1"8 en el instante dadoA '.7 Listo @ejecuta'le, se detiene en forma temporal para que se ejecute otro programaA c.7 4loqueado @no se puede ejecutar de'ido a la ocurrencia de algn evento e)ternoA 0esde el punto de vista lgico, los dos primero estados son similares. #n am'os casos, el proceso desea ejecutarse, slo que en le segundo caso, no e)iste 1"8 disponi'le par 9l. #l tercer estado es distinto del otro puesto que el proceso no se puede ejecutar, incluso aunque la 1"8 no tenga la'ores que realizar. $on posi'les cuatro transiciones entre estos estados, como la muestra la figura. La transicin + ocurre cuando un proceso descu're que no puede continuar. #n ciertos sistemas, el proceso de'e ejecutar una llamada al sistema 4locC para pasar el estado de 'loque, pero lo m!s frecuente es que un proceso lea un archivo especial @por ejemplo una terminalA no e)istan datos disponi'les, por lo que el proceso se 'loquea en forma autom!tica. Las transiciones D E se de'en al planificador del proceso @una parte del sistema operativoA sin que el proceso sepa de ellas. La transicin D ocurre cuando el planificador decide que el proceso en ejecucin a ha sido ejecutado el tiempo suficiente que es hora de que otro proceso tenga tiempo en la 1"8. La transicin E ocurre cuando los dem!s procesos han tenido su parte es tiempo de que el primer proceso vuelva a ejecutarse. #l tema de la planificacin, es decir, decidir cual proceso de'e ejecutarse, cuando por cuanto tiempo es mu importante. La transicin F aparece cuando ocurre el evento e)terno por el que espera un proceso @como la llegada de nuevos datosA. $i no e)iste otro proceso en ejecucin es ese momento, se produce la transicin E en forma inmediata el proceso comienza su ejecucin. #n caso contrario, tendra que esperar en estado Listo por un momento, hasta que la 1"8 est9 disponi'le. ;mplantacin de los procesos "ara implantar el modelo de proceso, el sistema operativo utiliza una ta'la @un arreglo de estructurasA, llamada la ta'la de proceso, con un dato por proceso. #ste dato contiene la informacin relativa al estado del proceso, el contador del programa, al apuntador a la pila, asignacin de memoria, el estado de los archivos a'iertos, su informacin de conta'ilidad planificacin, as como todos los datos relativos al proceso que de'en guardarse cuando el proceso alterna entre los estados de ejecucin listo, de forma que pueda volver a iniciar m!s adelante como si nunca se hu'iera detenido.

"ara ver tra'ajos similares o reci'ir informacin semanal so're nuevas pu'licaciones, visite www.monografias.com

www.monografias.com

/unque los campos e)actos contenidos en al ta'la de procesos son distintos de sistema en sistema, en general algunos tiene que ver con la administracin del proceso, con la administracin de la memoria unos mas con el sistema de archivo como muestra el siguiente cuadro #s posi'le e)plicar la forma en que se mantiene la ilusin de varios procesos secuenciales en una maquina con una sola 1"8 varios dispositivos de #*$. / cada clase de dispositivos de #*$ @ej. 0iscos fle)i'les, discos duros, etc.A se le asocia una localidad cerca de la parte inferior de la memoria, llamada vector de interrupcin, que contiene la direccin del procedimiento de servicio a las interrupciones. $upongamos que el proceso del usuario E est! en ejecucin cuando ocurre una interrupcin del disco. #l contador del programa, la pala'ra de estado del programa tal vez uno o m!s registros son enviados a la pila por el hardware de la interrupcin. #s entonces cuando la computadora pasa a la direccin dada por el vector de interrupcin de disco. #sto es todo lo que hacer el hardware. 0e aqu en adelante, todo queda en manos del software. #l procedimiento de servicio a la interrupcin comienza guardando todos los registros en los datos de la ta'la de procesos correspondientes al proceso activo. #l nmero de procesos activo un apuntador a este dato se mantienen como varia'les glo'ales para una r!pida localizacin. 0espu9s la informacin depositada por la interrupcin se elimina de la pila. Las acciones tales como guardar los registro esta'lecer el apuntador a la pila se pueden e)presar en 1 @o cualquier otro lenguaje de alto nivelA de esta forma pueden llevarse a ca'o mediante peque2as rutinas en lenguaje ensam'lador. /l terminar esta rutina se llama un procedimiento en 1 que lleva a ca'o el tra'ajo real de la interrupcin. #l siguiente paso consiste en determinar el proceso que inicio la solicitud al disco. #ste se ha'r! ido a dormir luego de iniciar la solicitud, por lo que de'er! ser despertado. #l estado de este proceso cam'ia de 'loqueado a listo luego se llama al planificador. $a'emos que al menos dos procesos est!n listos: el proceso que inicio la #*$ del disco aqu9l que fue interrumpido. La eleccin de quien se ejecutara depender! del algoritmo del planificador. /rchivos 1omo a mencionamos anteriormente, una de las funciones principales del sistema operativo es la de ocultar las peculiaridades de los discos dem!s dispositivos de entrada*salida, para presentar al programador un modelo agrada'le ntido de archivos independientes de los dispositivos. "ara poder proporcionar un espacio donde almacenar los archivos, los sistemas operativos soportan el concepto de directorio como una forma de agrupar los archivos. #s evidente la necesidad de llamadas al sistema en la creacin, eliminacin, lectura escritura de archivos. /ntes de poder leer un archivo, ha que a'rir este, despu9s de leer un archivo, este de'e cerrarseG siendo las llamadas al sistema, las que permiten realizar estas operaciones.

Administracin de la memoria
#n esta seccin se descri'ir!n las t9cnicas m!s usuales en el manejo de memoria, revisando los conceptos relevantes. $e a'arcar!n los esquemas de manejo simple de memoria real, la multiprogramacin en memoria real con sus variantes, el concepto de Hoverla sI, la multiprogramacin con intercam'io los esquemas de manejo de memoria virtual. "anorama general 8n vistazo al material que se va a cu'rir en esta seccin se muestra en la figura F.+. #s una gr!fica en donde se especifican, en t9rminos generales, los conceptos m!s importantes en cuanto a las t9cnicas empleadas en el manejo de memoria. Manejo de memoria en sistemas monousuario sin intercam'io #ste esquema se usa principalmente en sistemas monousuario monotarea, como son las computadoras personales con 0%$. 4ajo este esquema, la memoria real es tomada para almacenar el programa que se est9 ejecutando en un momento dado, con la visi'le desventaja de que si se est! limitado a la cantidad de J/M disponi'le nicamente. La organizacin fsica 'ajo este esquema es mu simple: #l sistema operativo se u'ica en las localidades superiores o inferiores de la memoria, seguido por algunos manejadores de dispositivos @&drivers&A. #sto deja un espacio contiguo de memoria disponi'le que es tomado por los programas del usuario, dejando generalmente la u'icacin de la pila @&stacC&A al ltimo, con el o'jetivo de que 9sta pueda crecer hasta el m!)imo posi'le. #stas diferentes opciones se pueden ver en la figura F.D. 1omo es o'vio, 'ajo estos esquemas no se requieren algoritmos sofisticados para asignar la memoria a los diferentes procesos, a que 9stos son ejecutados secuencialmente conforme van terminando. Multiprogramacin en memoria real

"ara ver tra'ajos similares o reci'ir informacin semanal so're nuevas pu'licaciones, visite www.monografias.com

www.monografias.com

#n los -.Is, las empresas e instituciones que ha'an invertido grandes sumas en la compra de equipo de cmputo se dieron cuenta r!pidamente que los sistemas en lote invertan una gran cantidad de tiempo en operaciones de entrada salida, donde la intervencin de la unidad central de procesamiento era pr!cticamente nula, se comenzaron a preguntar cmo hacer que se mantuviera m!s tiempo ocupada. Kue as como naci el concepto de multiprogramacin, el cual consiste en la idea de poner en la memoria fsica m!s de un proceso al mismo tiempo, de manera que si el que se est! ejecutando en este momento entra'a en un periodo de entrada*salida, se poda tomar otro proceso para que usara la unidad central de procesamiento. 0e esta forma, la memoria fsica se divida en secciones de tama2o suficiente para contener a varios programas. 0e esta manera, si un sistema gasta'a en promedio -.L de su tiempo en entrada*salida por proceso, se poda aprovechar m!s el 1"8. /nterior a esto, el 1"8 se mantena ese mismo porcentaje ociosoG con la nueva t9cnica, el tiempo promedio ocioso disminu e de la siguiente forma. Ll!mese al tiempo promedio que el 1"8 est! ocupado Hgrado de multiprogramacinI. $i el sistema tuviese un solo proceso siempre, 9ste gastara -.L en entrada*salida, el grado de multiprogramacin sera + 7 -.L M F.L M ..F. 1on dos procesos, para que el 1"8 est9 ocioso se necesita que am'os procesos necesiten estar haciendo entrada*salida, es decir, suponiendo que son independientes, la pro'a'ilidad de que am'os est9n en entrada*salida es el producto de sus pro'a'ilidades, es decir, ..-)..- M ..E-. /hora, el grado de multiprogramacin es + 7 @pro'a'ilidad de que am'os procesos est9n haciendo entrada*salidaA M + 7 ..E- M ..-F. 1omo se ve, el sistema mejora su uso de 1"8 en un DFL al aumentar de uno a dos procesos. "ara tres procesos el grado de multiprogramacin es + 7 @..-A E M ..=>F, es decir, el sistema est! ocupado el =>.FL del tiempo. La frmula del grado de multiprogramacin, aunque es mu idealista, pudo servir de gua para planear un posi'le crecimiento con la compra de memoria real, es decir, para o'tener el punto en que la adicin de procesos a J/M a no incrementa el uso de 1"8. 0entro del esquema de multiprogramacin en memoria real surgieron dos pro'lemas interesantes: la proteccin la relocalizacin. #l pro'lema de la relocalizacin #ste pro'lema no es e)clusivo de la multiprogramacin en memoria real, sino que se present aqu pero se sigue presentando en los esquemas de memoria virtual tam'i9n. #ste pro'lema consiste en que los programas que necesitan cargarse a memoria real a est!n compilados ligados, de manera que internamente contienen una serie de referencias a direcciones de instrucciones, rutinas procedimientos que a no son v!lidas en el espacio de direcciones de memoria real de la seccin en la que se carga el programa. #sto es, cuando se compil el programa se definieron o resolvieron las direcciones de memoria de acuerdo a la seccin de ese momento, pero si el programa se carga en otro da en una seccin diferente, las direcciones reales a no coinciden. #n este caso, el manejador de memoria puede solucionar el pro'lema de dos maneras: de manera Hest!ticaI o de manera Hdin!micaI. La solucin Hest!ticaI consiste en que todas las direcciones del programa se vuelvan a recalcular al momento en que el programa se carga a memoria, esto es, pr!cticamente se vuelve a recompilar el programa. La solucin Hdin!micaI consiste en tener un registro que guarde la direccin 'ase de la seccin que va a contener al programa. 1ada vez que el programa haga una referencia a una direccin de memoria, se le suma el registro 'ase para encontrar la direccin real. "or ejemplo, suponga que el programa es cargado en una seccin que comienza en la direccin +... #l programa har! referencias a las direcciones N.,ND,NF. "ero el contenido de esas direcciones no es el deseado, sino las direcciones +N., +ND +NF, a que ah comienza el programa. La suma de +.. O N. O etc9tera se hacen al tiempo de ejecucin. La primera solucin vale m!s la pena que la segunda si el programa contiene ciclos es largo, a que consumir! menos tiempo en la resolucin inicial que la segunda solucin en las resoluciones en lnea. #l pro'lema de la proteccin #ste pro'lema se refiere a que, una vez que un programa ha sido cargado a memoria en algn segmento en particular, nada le impide al programador que intente direccionar @por error o deli'eradamenteA localidades de memoria menores que el lmite inferior de su programa o superiores a la direccin ma orG es decir, quiere referenciar localidades fuera de su espacio de direcciones. %'viamente, este es un pro'lema de proteccin, a que no es legal leer o escri'ir en !reas de otros programas. La solucin a este pro'lema tam'i9n puede ser el uso de un registro 'ase un registro lmite. #l registro 'ase contiene la direccin del comienzo de la seccin que contiene al programa, mientras que el lmite contiene la direccin donde termina. 1ada vez que el programa hace una referencia a memoria s9 checa si cae en el rango de los registros si es as se enva un mensaje de error se a'orta el programa. "articiones fijas o particiones varia'les

"ara ver tra'ajos similares o reci'ir informacin semanal so're nuevas pu'licaciones, visite www.monografias.com

www.monografias.com

#n el esquema de la multiprogramacin en memoria real se manejan dos alternativas para asignarle a cada programa su particin correspondiente: particiones de tama2o fijo o particiones de tama2o varia'le. La alternativa m!s simple son las particiones fijas. 0ichas particiones se crean cuando se enciende el equipo permanecer!n con los tama2os iniciales hasta que el equipo se apague. #s una alternativa mu vieja, quien haca la divisin de particiones era el operador analizando los tama2os estimados de los tra'ajos de todo el da. "or ejemplo, si el sistema tena N+D Cilo' tes de J/M, poda asignar -F C para el sistema operativo, una particin m!s de -F C, otra de +D>C una ma or de DN- C. #sto era mu simple, pero infle)i'le, a que si surgan tra'ajos urgentes, por ejemplo, de F..C, tenan que esperar a otro da o reparticionar, inicializando el equipo desde cero. La otra alternativa, que surgi despu9s como necesidad de mejorar la alternativa anterior, era crear particiones contiguas de tama2o varia'le. "ara esto, el sistema tena que mantener a una estructura de datos suficiente para sa'er en dnde ha'an huecos disponi'les de J/M de dnde a dnde ha'a particiones ocupadas por programas en ejecucin. /s, cuando un programa requera ser cargado a J/M, el sistema analiza'a los huecos para sa'er si ha'a alguno de tama2o suficiente para el programa que quera entrar, si era as, le asigna'a el espacio. $i no, intenta'a relocalizar los programas e)istentes con el propsito de hacer contiguo todo el espacio ocupado, as como todo el espacio li're as o'tener un hueco de tama2o suficiente. $i an as el programa no ca'a, entonces lo 'loquea'a toma'a otro. #l proceso con el cual se juntan los huecos o los espacios ocupados se le llama HcompactacinI. #l lector se ha'r! dado cuenta a de que surgen varios pro'lemas con los esquemas de particiones fijas particiones varia'les: P#n 'ase a qu9 criterio se elige el mejor tama2o de particin para un programaQ "or ejemplo, si el sistema tiene dos huecos, uno de +>C otro de DF C para un proceso que desea D. C, P1ual se le asignaQ #)isten varios algoritmos para darle respuesta a la pregunta anterior, los cuales se enumeran descri'en enseguida. o "rimer /juste: $e asigna el primer hueco que sea ma or al tama2o deseado. o Mejor /juste: $e asigna el hueco cu o tama2o e)ceda en la menor cantidad al tama2o deseado. Jequiere de una 'squeda e)haustiva. o "eor /juste: $e asigna el hueco cu o tama2o e)ceda en la ma or cantidad al tama2o deseado. Jequiere tam'i9n de una 'squeda e)haustiva. o #l $iguiente /juste: #s igual que el Hprimer ajusteI con la diferencia que se deja un apuntador al lugar en donde se asign el ltimo hueco para realizar la siguiente 'squeda a partir de 9l. o /juste J!pido: $e mantienen listas ligadas separadas de acuerdo a los tama2os de los huecos, para as 'uscarle a los procesos un hueco m!s r!pido en la cola correspondiente. %tro pro'lema que se vislum'ra desde aqu es que, una vez asignado un hueco, por ejemplo, con &el peor ajuste&, puede ser que el proceso requiriera +D Cilo' tes que el hueco asignado fuera de -F Cilo' tes, por lo cual el proceso va a desperdiciar una gran cantidad de memoria dentro de su particin, a lo cual se le llama Hfragmentacin internaI. "or otro lado, conforme el sistema va avanzando en el da, finalizando procesos comenzando otros, la memoria se va configurando como una secuencia contigua de huecos de lugares asignados, provocando que e)istan huecos, por ejemplo, de +D C, D>C E. C, que sumados dan =.C, pero que si en ese momento llega un proceso pidi9ndolos, no se le pueden asignar a que no son localidades contiguas de memoria @a menos que se realice la compactacinA. /l hecho de que aparezcan huecos no contiguos de memoria se le llama Hfragmentacin e)ternaI. 0e cualquier manera, la multiprogramacin fue un avance significativo para el mejor aprovechamiento de la unidad central de procesamiento de la memoria misma, as como dio pie para que surgieran los pro'lemas de asignacin de memoria, proteccin relocalizacin, entre otros. Los overla s 8na vez que surgi la multiprogramacin, los usuarios comenzaron a e)plorar la forma de ejecutar grandes cantidades de cdigo en !reas de memoria mu peque2as, au)iliados por algunas llamadas al sistema operativo. #s as como nacen los Hoverla sI. #sta t9cnica consiste en que el programador divide lgicamente un programa mu grande en secciones que puedan almacenarse en las particiones de J/M. /l final de cada seccin del programa @o en otros lugares necesariosA el programador inserta'a una o varias llamadas al sistema con el fin de descargar la seccin presente de J/M cargar otra, que en ese momento resida en disco duro u otro medio de almacenamiento secundario. /unque esta t9cnica era eficaz @porque resolva el pro'lemaA no era eficiente @ a que no lo resolva de la mejor maneraA. #sta solucin requera que el programador tuviera un conocimiento mu profundo del equipo de cmputo de las llamadas al sistema operativo. %tra desventaja era la porta'ilidad de un sistema a otro: las llamadas cam'ia'an, los tama2os de particiones tam'i9n. Jesumiendo, con esta t9cnica se podan ejecutar programas m!s grandes que las particiones de J/M, donde la divisin del cdigo corra a cuenta del programador el control a cuenta del sistema operativo.

"ara ver tra'ajos similares o reci'ir informacin semanal so're nuevas pu'licaciones, visite www.monografias.com

www.monografias.com

Multiprogramacin en memoria virtual La necesidad cada vez m!s imperiosa de ejecutar programas grandes el crecimiento en poder de las unidades centrales de procesamiento empujaron a los dise2adores de los sistemas operativos a implantar un mecanismo para ejecutar autom!ticamente programas m!s grandes que la memoria real disponi'le, esto es, de ofrecer &memoria virtual&. La memoria virtual se llama as porque el programador ve una cantidad de memoria mucho ma or que la real, en realidad se trata de la suma de la memoria de almacenamiento primario una cantidad determinada de almacenamiento secundario. #l sistema operativo, en su mdulo de manejo de memoria, se encarga de intercam'iar programas enteros, segmentos o p!ginas entre la memoria real el medio de almacenamiento secundario. $i lo que se intercam'ia son procesos enteros, se ha'la entonces de multiprogramacin en memoria real, pero si lo que se intercam'ian son segmentos o p!ginas, se puede ha'lar de multiprogramacin con memoria virtual. La memoria virtual se apo a en varias t9cnicas interesantes para lograr su o'jetivo. 8na de las teoras m!s fuertes es la del &conjunto de tra'ajo&, la cual se refiere a que un programa o proceso no est! usando todo su espacio de direcciones en todo momento, sino que e)isten un conjunto de localidades activas que conforman el &conjunto de tra'ajo&. $i se logra que las p!ginas o segmentos que contienen al conjunto de tra'ajo est9n siempre en J/M, entonces el programa se desempe2ar! mu 'ien. %tro factor importante es si los programas e)hi'en un fenmeno llamado &localidad&, lo cual quiere decir que algunos programas tienden a usar mucho las instrucciones que est!n cercanas a la localidad de la instruccin que se est! ejecutando actualmente. "aginacin pura La paginacin pura en el manejo de memoria consiste en que el sistema operativo divide din!micamente los programas en unidades de tama2o fijo @generalmente mltiplos de + Cilo' teA los cuales va a manipular de J/M a disco viceversa. /l proceso de intercam'iar p!ginas, segmentos o programas completos entre J/M disco se le conoce como &intercam'io& o &swapping&. #n la paginacin, se de'e cuidar el tama2o de las p!ginas, a que si 9stas son mu peque2as el control por parte del sistema operativo para sa'er cu!les est!n en J/M cuales en disco, sus direcciones reales, etc.G crece provoca mucha &so'recarga& @overheadA. "or otro lado, si las p!ginas son mu grandes, el overhead disminu e pero entonces puede ocurrir que se desperdicie memoria en procesos peque2os. 0e'e ha'er un equili'rio. 8no de los aspectos m!s importantes de la paginacin, as como de cualquier esquema de memoria virtual, es la forma de traducir una direccin virtual a direccin real. "ara e)plicarlo, o's9rvese la figura F.E. 1omo se o'serva, una direccin virtual &v& M @', dA est! formada por un nmero de p!gina virtual &'& un desplazamiento &d&. "or ejemplo, si el sistema ofrece un espacio de direcciones virtuales de -F Cilo' tes, con p!ginas de F Cilo' tes la J/M slo es de ED Cilo' tes, entonces tenemos +- p!ginas virtuales > reales. La ta'la de direcciones virtuales contiene +- entradas, una por cada p!gina virtual. #n cada entrada, o registro de la ta'la de direcciones virtuales se almacenan varios datos: si la p!gina est! en disco o en memoria, qui9n es el due2o de la p!gina, si la p!gina ha sido modificada o es de lectura nada mas, etc. "ero el dato que nos interesa ahora es el nmero de p!gina real que le corresponde a la p!gina virtual. %'viamente, de las +- virtuales, slo ocho tendr!n un valor de control que dice que la p!gina est! cargada en J/M, as como la direccin real de la p!gina, denotada en la figura F.E como 'R. "or ejemplo, supngase que para la p!gina virtual nmero +F la ta'la dice que, efectivamente est! cargada es la p!gina real D @direccin de memoria >+,DA. 8na vez encontrada la p!gina real, se le suma el desplazamiento, que es la direccin que deseamos dentro de la p!gina 'uscada @'I O dA. La ta'la de direcciones virtuales a veces est! u'icada en la misma memoria J/M, por lo cual se necesita sa'er en qu9 direccin comienza, en este caso, e)iste un registro con la direccin 'ase denotada por la letra &a& en la figura F.E. 1uando se est! 'uscando una p!gina cualquiera 9sta no est! cargada, surge lo que se llama un &fallo de p!gina& @page faultA. #sto es caro para el manejador de memoria, a que tiene que realizar una serie de pasos e)tra para poder resolver la direccin deseada darle su contenido a quien lo pide. "rimero, se detecta que la p!gina no est! presente entonces se 'usca en la ta'la la direccin de esta p!gina en disco. 8na vez localizada en disco se intenta cargar en alguna p!gina li're de J/M. $i no ha p!ginas li'res se tiene que escoger alguna para enviarla hacia el disco. 8na vez escogida enviada a disco, se marca su valor de control en la ta'la de direcciones virtuales para indicar que a no est! en J/M, mientras que la p!gina deseada se carga en J/M se marca su valor para indicar que ahora a est! en J/M. 6odo este procedimiento es caro, a que se sa'e que los accesos a disco duro son del orden de decenas de veces m!s lentos que en J/M. #n el ejemplo anterior se mencion que cuando se necesita descargar una p!gina de J/M hacia disco se de'e de hacer una eleccin. "ara realizar esta eleccin e)isten varios algoritmos, los cuales se descri'en enseguidaS

"ara ver tra'ajos similares o reci'ir informacin semanal so're nuevas pu'licaciones, visite www.monografias.com

www.monografias.com

( La primera en entrar, primera en salir: $e escoge la p!gina que ha a entrado primero est9 cargada en J/M. $e necesita que en los valores de control se guarde un dato de tiempo. :o es eficiente porque no aprovecha ninguna caracterstica de ningn sistema. #s justa e imparcial. ( La no usada recientemente: $e escoge la p!gina que no ha a sido usada @referenciadaA en el ciclo anterior. "retende aprovechar el hecho de la localidad en el conjunto de tra'ajo. ( La usada menos recientemente: #s parecida a la anterior, pero escoge la p!gina que se us hace m!s tiempo, pretendiendo que como a tiene mucho sin usarse es mu pro'a'le que siga sin usarse en los pr)imos ciclos. :ecesita de una 'squeda e)haustiva. ( La no usada frecuentemente: #ste algoritmo toma en cuenta no tanto el tiempo, sino el nmero de referencias. #n este caso cualquier p!gina que se use mu poco, menos veces que alguna otra. ( La menos frecuentemente usada: #s parecida a la anterior, pero aqu se 'usca en forma e)haustiva aquella p!gina que se ha usado menos que todas las dem!s. ( #n forma aleatoria: #lige cualquier p!gina sin aprovechar nada. #s justa e imparcial, pero ineficiente. %tro dato interesante de la paginacin es que a no se requiere que los programas est9n u'icados en zonas de memoria ad acente, a que las p!ginas pueden estar u'icadas en cualquier lugar de la memoria J/M.

Segmentacin pura
La segmentacin se aprovecha del hecho de que los programas se dividen en partes lgicas, como son las partes de datos, de cdigo de pila @stacCA. La segmentacin asigna particiones de memoria a cada segmento de un programa 'usca como o'jetivos el hacer f!cil el compartir segmentos @por ejemplo li'reras compartidasA el intercam'io entre memoria los medios de almacenamiento secundario. "or ejemplo, en la versin de 8:;< $un%$ E.N, no e)istan li'reras compartidas para algunas herramientas, por ejemplo, para los editores de te)to orientados al ratn mens. 1ada vez que un usuario invoca'a a un editor, se tena que reservar + mega' te de memoria. 1omo los editores son una herramienta mu solicitada frecuentemente usada, se dividi en segmentos para le versin F.) @que a su vez se dividen en p!ginasA, pero lo importante es que la ma or parte del editor es comn para todos los usuarios, de manera que la primera vez que cualquier usuario lo invoca'a, se reserva'a un mega' te de memoria como antes, pero para el segundo, tercero resto de usuarios, cada editor e)tra slo consuma D. Cilo' tes de memoria. #l ahorro es impresionante. %'s9rvese que en la segmentacin pura las particiones de memoria son de tama2o varia'le, en contraste con p!ginas de tama2o fijo en la paginacin pura. 6am'i9n se puede decir que la segmentacin pura tiene una granularidad menor que la paginacin por el tama2o de segmentos versus tama2o de p!ginas. :uevamente, para comprender mejor la segmentacin, se de'e dar un repaso a la forma en que las direcciones virtuales son traducidas a direcciones reales, para ellos se usa la figura F.F. "r!cticamente la traduccin es igual que la llevada a ca'o en la paginacin pura, tomando en consideracin que el tama2o de los 'loques a controlar por la ta'la de traduccin son varia'les, por lo cual, cada entrada en dicha ta'la de'e contener la longitud de cada segmento a controlar. %tra vez se cuenta con un registro 'ase que contiene la direccin del comienzo de la ta'la de segmentos. La direccin virtual se compone de un nmero de segmento @sA un desplazamiento @dA para u'icar un ' te @o pala'raA dentro de dicho segmento. #s importante que el desplazamiento no sea ma or que el tama2o del segmento, lo cual se controla simplemente chequeando que ese valor sea ma or que la direccin del inicio del segmento menor que el inicio sumado al tama2o. 8na ves dada una direccin virtual vM@s, dA, se realiza la operacin ' O s para hallar el registro @o entrada de la ta'la de segmentosA que contiene la direccin de inicio del segmento en la memoria real, denotado por sI. Ta conociendo la direccin de inicio en memoria real sI slo resta encontrar el ' te o pala'ra deseada, lo cual se hace sum!ndole a sI el valor del desplazamiento, de modo que la direccin real U r M sI O d. 1ada entrada en la ta'la de segmentos tiene un formato similar al mostrado en la figura F.N. $e tienen campos que indican la longitud, los permisos, la presencia o ausencia direccin de inicio en memoria real del segmento $egn amplios e)perimentos sugieren que un tama2o de p!ginas de +.DF ' tes generalmente ofrece un desempe2o mu acepta'le. ;ntuitivamente parecera que el tener p!ginas del ma or tama2o posi'le hara que el desempe2o fuera ptimo pero no es as, a menos que la p!gina fuera del tama2o del proceso total. :o es as con tama2os grandes de p!gina menores que el proceso, a que cuando se trae a memoria principal una p!gina por motivo de un solo ' te o pala'ra, se est!n tra endo muchsimos m!s ' tes de los

"ara ver tra'ajos similares o reci'ir informacin semanal so're nuevas pu'licaciones, visite www.monografias.com

www.monografias.com

deseados. La dependencia entre el nmero de fallas respecto al tama2o de las p!ginas se mustra en la figura F.-. 8n hecho nota'le en los sistemas que manejan paginacin es que cuando el proceso comienza a ejecutarse ocurren un gran nmero de fallos de p!gina, porque es cuando est! referenciando muchas direcciones nuevas por vez primera, despu9s el sistema se esta'iliza, conforme el nmero de marcos asignados se acerca al tama2o del conjunto de tra'ajo. #n la figura F.= se muestra la relacin entre el tiempo promedio, las fallas de p!gina el nmero de marcos de p!gina asignados a un proceso. /ll se ve que el tiempo entre fallas decrece conforme se le asignan m!s p!ginas al proceso. La gr!fica se curva en un punto, el cual corresponde a que el proceso tiene un nmero de p!ginas asignado igual al que necesita para almacenar su conjunto de tra'ajo. 0espu9s de eso, 9l asignarle a un proceso m!s p!ginas que las de su conjunto de tra'ajo a no convienen, a que el tiempo promedio entre fallas permanece sin mucha mejora. 8n aspecto curioso de aumentar el nmero de p!ginas a un proceso cuando el algoritmo de seleccin de p!ginas candidatas a irse a disco es la primera en entrar primera en salir es la llamada Hanomala K;K%I a Hanomala de 4elad I. 4elad encontr ejemplos en los que un sistema con un nmero de p!ginas igual a tres tena menos fallas de p!ginas que un sistema con cuatro p!ginas. #l ejemplo descrito en es injusto. %'viamente si se compara un sistema con +. p!ginas contra otro de N, a de inicio el primer sistema tendr! N fallos de p!gina m!s que el de N, porque se necesitan diez fallos para cargarlo. / esto de'era llam!rsele Hanomala de 4elad con correccin. $istemas com'inados La paginacin la segmentacin puras son m9todos de manejo de memoria 'astante efectivos, aunque la ma ora de los sistemas operativos modernos implantan esquemas com'inados, es decir, com'inan la paginacin la segmentacin. La idea de com'inar estos esquemas se de'e a que de esta forma se aprovechan los conceptos de la divisin lgica de los programas @segmentosA con la granularidad de las p!ginas. 0e esta forma, un proceso estar! repartido en la memoria real en peque2as unidades @p!ginasA cu a liga son los segmentos. 6am'i9n es facti'le as el compartir segmentos a medida que las partes necesitadas de los mismos se van referenciando @p!ginasA. "ara comprender este esquema, nuevamente se ver! cmo se traduce una direccin virtual en una localidad de memoria real. "ara la paginacin segmentacon puras se puede decir que el direccionamiento es &'idimensional& porque se necesitan dos valores para hallar la direccin real. "ara el caso com'inado, se puede decir que se tiene un direccionamiento &tridimensional&. #n la figura F.> se muestran las partes relevantes para lograr la traduccin de direcciones. #l sistema de'e contar con una ta'la de procesos @6"A. "or cada rengln de esa ta'la se tiene un nmero de proceso una direccin a una ta'la de segmentos. #s decir, cada proceso tiene una ta'la de segmentos. 1uando un proceso hace alguna referencia a memoria, se consulta 6" para encontrar la ta'la de segmentos de ese proceso. #n cada ta'la de segmentos de proceso @6$"A se tienen los nmeros de los segmentos que componen a ese proceso. "or cada segmento se tiene una direccin a una ta'la de p!ginas. 1ada ta'la de p!ginas tiene las direcciones de las p!ginas que componen a un solo segmento. "or ejemplo, el segmento H/I puede estar formado por las p!ginas reales HaI, I'I, IcI, IpI H)I. #l segmento H4I puede estar compuesto de las p!ginas HfI, IgI, IjI, IwI HzI. "ara traducir una direccin virtual vM@s, p, dA donde &s& es el segmento, &p& es la p!gina &d& el desplazamiento en la p!gina se hace lo siguiente. "rimero se u'ica de qu9 proceso es el segmento se localiza la ta'la de segmentos de ese proceso en la 6". 1on &s& como ndice se encuentra un rengln @registroA en la ta'la de segmentos de ese proceso en ese rengln est! la direccin de la ta'la de p!ginas que componen al segmento. 8na vez en la ta'la de p!ginas se usa el valor &p& como ndice para encontrar la direccin de la p!gina en memoria real. 8na vez en esa direccin de memoria real se encuentra el ' te @o pala'raA requerido por medio del valor de &d&. /hora, en este esquema pueden ha'er dos tipos de fallos: por fallo de p!gina por fallo de segmento. 1uando se hace referencia a una direccin el segmento que la contiene no est! en J/M @aunque sea parcialmenteA, se provoca un fallo por falta de segmento lo que se hace es traerlo del medio de almacenamiento secundario crearle una ta'la de p!ginas. 8na vez cargado el segmento se necesita localizar la p!gina correspondiente, pero 9sta no e)iste en J/M, por lo cual se provoca un fallo de p!gina se carga de disco finalmente se puede a traer la direccin deseada por medio del desplazamiento de la direccin virtual. La eficiencia de la traduccin de direcciones tanto en paginacin pura, segmentacin pura esquemas com'inados se mejora usando memorias asociativas para las ta'las de p!ginas segmentos, as como memorias cache para guardar los mapeos m!s solicitados. %tro aspecto importante es la estrategia para cargar p!ginas @o segmentosA a la memoria J/M. $e usan m!s comnmente dos estrategias: cargado de p!ginas por demanda cargado de p!ginas anticipada. La estrategia de cargado por demanda consiste en que las p!ginas solamente son llevadas a J/M si fueron

"ara ver tra'ajos similares o reci'ir informacin semanal so're nuevas pu'licaciones, visite www.monografias.com

www.monografias.com

solicitadas, es decir, si se hizo referencia a una direccin que cae dentro de ellas. La carga anticipada consiste en tratar de adivinar qu9 p!ginas ser!n solicitadas en el futuro inmediato cargarlas de antemano, para que cuando se pidan a no ocurran fallos de p!gina. #se &adivinar& puede ser que se aproveche el fenmeno de localidad que las p!ginas que se cargan por anticipado sean aquellas que contienen direcciones contiguas a la direccin que se aca'a de refenciar. 0e hecho, el sistema operativo VM$ usa un esquema com'inado para cargar p!ginas: cuando se hace referencia a una direccin cu a p!gina no est! en J/M, se provoca un fallo de p!gina se carga esa p!gina junto con algunas p!ginas ad acentes. #n este caso la p!gina solicitada se carg por demanda las ad acentes se cargaron por anticipacin.

MS-DOS
1omo ejemplo de un sistema operativo de un solo procesador, nos referiremos a M$70%$, que slo se ejecuta en el ;ntel >.>> sus sucesores, D>-, E>- F>-. ;niciaremos con su historia, analizaremos los conceptos fundamentales, algunas de sus llamadas al sistema , por ltimo, diremos algo de su implantacin. Wistoria 0e Ms70os La primera computadora personal fue la /ltair, producida en +,=N por la compa2a M;6$. 6ena un 1"8 con el ;ntel >.>. de > 'its DN- ' tes de memoria. :o tena teclado, pantalla, cintas o discos. 0espu9s de unos a2os, muchas compa2as comenzaron a fa'ricar computadoras personales con 'ase en el chip >.>., casi todas con un sistema operativo llamado 1"*M. La "17;4M /lrededor de +,>., ;4M, vio la necesidad de tener su propia computadora personal. "ara entonces ;ntel ha'a producido dos sucesores del >.>., el >.>- de +- 'its una versin de 9l con un 'us de > 'its, el >.>> que fue comprada por ;4M. Microsoft compr para ;4M un sistema operativo del tipo de 1"*M7>- al cual le realizo unos cuantos arreglos. 1am'iaron su nom're por el de M$70%$ @Micro $oft X $istema operativo de discoA. ;4M anunci la "1 en agosto de +,>+. M$70%$ poda ejecutar la ma or parte del software que se utiliza'a entonces en el >.>. 'ajo 1"*M. La "1 esta'a equipada con hardware para el control de las cintas de audiocassette palancas de control para los videojuegos. Jespecto del hardware de la "1. /unque el >.>> tiene un espacio de direcciones de + mega' te, ;4M decidi asignar los primeros -F. de 9stos al J/M el resto a J%M, tarjetas de vdeo otros elementos. #n consecuencia, la configuracin de M$70%$ slo soporta programas con un tama2o m!)imo de -F. Y. /l surgir despu9s modelos con hasta +- M4, la incapacidad para ejecutar programas ma ores de -F. Y se convirti en un pro'lema. Los programas de la "1 de ;4M eran li'res de no utilizar el sistema operativo tener acceso directo al hardware. M$70%$ Versin +.. Kue lanzada junto con la "1 0# ;4M. %cupa'a +D Y de los -F Y de la memoria de la m!quina. #l cdigo consta'a de F... lneas de cdigo ensam'lador. #l nico disco que soporta'a era el de N Z plg, de un solo lado +-. Y. #l sistema operativo consta'a de E programas: i'm'io.com, el sistema de #*$ de discos caracteresG i'mdos.com, el manejador de discos archivosG command.com, el procesador de comandos, un shell primitivo. M$70%$ siempre ha hecho uso de un J%M en hardware integrado a la "1 0# ;4M, llamado 4;%$ @$is. 4!sico de #*$A. 4;%$ contiene los manejadores de los dispositivos est!ndar, por lo que 'asta'a que M$70%$ los llamara para realizar la #*$. #l 4;%$ se localiza'a cerca de la parte superior del espacio de direcciones de M; en el J%M del >.>>, no ocupa'a J/M. La versin M$70%$ +.. era compati'le con 1"*M. Microsoft lanz la versin +.+ en +,>D, la cual soporta'a los discos de ED.Y de do'le lado. #n lo dem!s era similar a la versin +... M$70%$ Versin D.. #n +,>E, ;4M present la "1*<6, su primera computadora personal con un disco duro. Vena con la versin D... /unque soporta'a las llamadas al sistema de 1"*M, Microsoft volvi a escri'irlo desde cero le incorpor ideas de 8:;< como las llamadas al sistema %"#:, J#/0, [J;6# 1L%$#. #l shell tam'i9n se mejorG poda manejar el redireccionamiento de la #* $, adem!s de soportar entu'amientos filtros. M$70%$ D.. tam'i9n inclu manejadores de dispositivos que poda instalar el usuario, cola de impresin @spooloingA, configuracin del sistema, administracin de la memoria shells adaptados.

"ara ver tra'ajos similares o reci'ir informacin semanal so're nuevas pu'licaciones, visite www.monografias.com

www.monografias.com

/l surgir una gran demanda a nivel mundial de la "1*<6 produjo la versin D..N, que soporta'a la hora, fecha, moneda sm'olos decimales de muchos pases. M$70%$ Versin E.. #n +,>F, ;4M lanz la "1*/6, su primera computadora personal con 'ase en el chip D>-. #sta soporta'a una memoria de hasta +- M4, tena modos usuario ncleo, un modo de proteccin con 'ase en anillos capacidad de ejecutar varios programas a la vez. La versin de M$*0%$ empacada con la "1*/6 era la E... La "1*/6 vena con una unidad de disco de +.D M, reloj con 'atera la informacin de la configuracin en 1M%$, se a2adi el soporte para estos dispositivos. /dem!s, ahora se soporta'an los discos duros de m!s de +.M se presentaron los discos en J/M el procesador de comandos @shellA se elimin del sistema operativo se conform como un programa independiente. #l E.. se reemplaz por E.+, que proporcion el primer soporte para las redes. La siguiente edicin fue la E.D. $oporta'a discos de E \ plg.. #n +,>=, ;4M present el sucesor de la lnea "1, la familia "$*D @$istema "ersonal DA. Venan con discos de E \ plg. =D.Y en las versiones m!s peque2as discos de E \ plg. con +.FFM en las versiones m!s grandes. ;4M Microsoft lanzaron un sistema operativo nuevo llamado %$*D. 1omo se entreg tarde e incompleto, Microsoft lo desech, esto molest a ;4M, que a'andon a Microsoft firm contrato con /pple 1omputer para su futuro software. M$70%$ Versin F.. ;4M present la versin F... 8na de las grandes mejoras de esta edicin fue el soporte de discos duros ma ores de ED M. M$70%$ F.. soporta discos de hasta D giga' tes. /unque los programas seguan restringidos a -F. Y, se podan utilizar hasta +-M de memoria e)tendida para el disco en J/M. %tra mejora fue el shell de 0%$, controlado mediante mens. #n fin, esta versin no se utiliz con amplitud. M$70%$ Versin N.. Kue anunciada en +,,+, fue la primera versin que haca un uso serio de la memoria e)tendida, de la que muchos poseedores de D>- E>- tenan varios mega' tes. /n con la restriccin de que los programas no podan e)ceder los -F.Y, al menos tena la capacidad de colocar la ma ora del propio M$70%$ en la memoria e)tendida, de modo que cerca de -..Y de los -F.Y inferiores esta'an disponi'les para los programas del usuario. /dem!s, los manejadores de dispositivos escritos por el usuario tam'i9n se podran colocar en la memoria e)tendida. M$70%$ N.. tam'i9n poda utilizar la memoria entre los -F.Y +M de las m!quinas E>- para los manejadores de dispositivos ciertas utilerias. 6am'i9n proporcion un nuevo shell, con la capacidad de tener varios programas en la memoria al mismo tiempo. N.. tam'i9n vena con un amplio programa de a uda @W#L"A, para au)iliar a los nuevos usuarios.

Panorama de MS-DOS
8so de M$70%$ #)iste un shell, comand.com, un sistema de archivos, llamadas al sistema, programas de utileras otras caractersticas. "ara utilizar M$70%$ slo ha que encender la computadora. 8nos segundos despu9s, aparece el indicador del shell. "or la razn de que la m!quina es utilizada por una nica persona, los archivos directorios no tienen propietarios no e)isten 'its de proteccin. "ara ejecutar un programa, se escri'en su nom're argumentos en el shell. Los comandos de M$70%$ se dividen en dos categoras: internos e)ternos. Los internos se ejecutan por el propio shell, los e)ternos son aut9nticos programas, que, por lo general, se encuentran en el directorio *dos o *'in. #n M$70%$, muchas de las utileras de m!s uso son comandos internos del shell. #n total e)isten F. comandos internos. La construccin de tantos comandos dentro del shell representa una situacin contradictoria. "or un lado, el hecho de no tener que 'uscarlos en un disco lento los hace m!s r!pidos. "uesto que la "1 0# ;4M original no tena un disco duro. "or otro lado, todo ese cdigo hace que el shell sea m!s grande. #n M$70%$, la lnea de comandos se transfiere de manera literal al programa. M$70%$ N.. tiene un programa dosCe que se puede instalar con el fin de registrar guardar en un 'uffer todas las com'inaciones de teclas. $u funcin es permitir la repeticin de comandos, con o sin edicin. "or ejemplo, al oprimir la tecla K=, dosCe e)hi'e una lista de los comandos m!s recientes. $e puede

"ara ver tra'ajos similares o reci'ir informacin semanal so're nuevas pu'licaciones, visite www.monografias.com

www.monografias.com

seleccionar uno de ellos mediante la tecla K,. #l comando se puede volver a ejecutar de manera directa, o 'ien editarlo volverlo a ejecutar. #l $hell de M$70%$ M$70%$ tiene ahora una interfaz orientada a la pantalla, llamada dosshell. 0espliega los archivos directorios en ventanas permite que los usuarios realicen una gran cantidad de tra'ajo al apuntar mediante el ratn oprimir el 'otn de 9ste. /l iniciar dosshell, se e)hi'en varias ventanas en la pantalla. "ueden aparecer varias pantallas, una de las cuales se muestra en la figura. #sta contiene > ventanas. La ventana superior es la 'arra de ttulo, la cual identifica el programa en ejecucin. / continuacin aparece la 'arra de men, la cual ofrece varias opciones. o /l oprimir Kile aparece un men que permite a los usuarios desplazar, copiar, cam'iar el nom're e imprimir archivos, crear directorios, as como otras operaciones an!logas. La ma ora de 9stas utilizan el ratn el teclado. o #l men %ptions activa o desactiva varias opciones. 6am'i9n permite al usuario seleccionar los colores de la pantalla. o #l men View controla los cuatro tipos de ventanas que se pueden e)hi'ir el tama2o de cada una. o #l men 6ree controla las opciones de la forma en que se e)hi'en los su'directorios en la pantalla o #l men Welp proporciona a uda en relacin con varios aspectos de dosshell. o La siguiente seccin de la pantalla contiene los iconos de unidad. #n M$70%$ cada unidad de disco tiene asignado un cdigo. Los dos primeros discos se llaman /: 4: el primer disco duro se llama 1:. o "or ltimo est!n las cuatro ventanas m!s importantes. o La ventana 0irector 6ree e)hi'e el directorio raz de la unidad 1. #l sm'olo O indica que el directorio tiene su'directorios que no se muestran. /l oprimir el 'otn so're O, 9ste sm'olo cam'ia por X se muestran los su'directorios. /l seleccionar una entrada sus archivos aparecen en la ventana Kile List o La ventana Main tiene una lista de los comandos de uso frecuente. Los programas se ejecutan al oprimir el 'otn del ratn so're ellos. o La ltima ventana es, la m!s interesante. #n este momento, el usuario es li're de ejecutar los comandos que desee, como por ejemplo, iniciar otro programa, el cual se puede suspender. 6odos los programas suspendidos aparecen en esta ventana. $i se oprime el 'otn del ratn dos veces so're alguno de ellos, este programa contina su ejecucin. o "or ltimo, la ltima ventana es la $tatus. 6iene una lista de ciertas a'reviaturas de comandos, e)hi'e mensajes muestra la hora del da. 1onfiguracin de M$70%$ M$70%$ se puede configurar en una infinidad de formas. "or ejemplo, los usuarios son li'res de instalar sus propios manejadores de interruptores. /l registrar las interrupciones del teclado, el programa dosCe puede e)aminar todos los caracteres tecleados antes de que 9stos pasen al sistema operativo. %tra forma de configuracin por parte del usuario es la capacidad de instalar manejadores de dispositivos adaptados a las necesidades de aqu9llos. #stos manejadores pueden controlar a los dispositivos de #*$ no est!ndar, como los sintetizados de msica M;0;. 6am'i9n pueden manejar los dispositivos est!ndar, como la memoria e)tendida, de forma no est!ndar @por ejemplo, simular discos en J/MA. M$70%$ tiene la capacidad de asociar los cdigos de teclas producidos por el teclado con diferentes caracteres, por ej. la tecla a la derecha de 6/4 es una ] @##88A o una / @KranciaA. ^ran parte de la capacidad de configuracin de M$70%$ se controla mediante un archivo llamado config.s s, el cual se lee al arrancar la m!quina. "uede contener comandos para la instalacin de manejadores de dispositivos adecuados, esta'lecer el soporte des lenguaje nacional, determinar la parte de la memoria donde de'e colocarse el sistema operativo, asignar memoria para el 'uffer cach9, especificar el nmero m!)imo de archivos a'iertos seleccionar el shell. /dem!s, despu9s de procesar este archivo, se ejecuta un archivo por lotes llamado autoe)ec.'at. 1onceptos Kundamentales en M$70%$ #n M$70%$, el modelo de un proceso su uso de memoria est!n fuertemente entrelazados e ntimamente relacionados con los detalles de la arquitectura del 1"8 >.>> la arquitectura del sistema "1 0# ;4M. /dem!s, la programacin del modelo de los procesos de la memoria son insepara'les de la implantacin. "rocesos en M$70%$ M$70%$ no es un sistema de multiprogramacin, tampoco es un sistema de monoprogramacin. /l arrancar el sistema, un proceso, command.com @el shell orientado al tecladoA se inicia espera una entrada. /l escri'ir una lnea, command.com inicia un nuevo proceso, le transfiere el control espera a que 9ste termine.

"ara ver tra'ajos similares o reci'ir informacin semanal so're nuevas pu'licaciones, visite www.monografias.com

www.monografias.com

#n M$70%$, el padre el hijo no pueden ejecutarse en paralelo. 1uando un proceso produce un hijo, el padre se suspende de manera autom!tica hasta que el hijo hace una salida. #l resto se suspende en espera de que un hijo termine. /unque M$70%$ permite la e)istencia de varios procesos a la vez, no es un verdadero sistema de multiprogramacin. M$70%$ tiene dos tipos de archivos 'inarios ejecuta'les, los que producen dos tipos distintos de procesos. 8n archivo con e)tensin 1%M, como "J%^.1%M, es un simple archivo ejecuta'le, est!n almacenados en archivos que contienen una copia fiel del cdigo a ser ejecutado. #l archivo se carga en la memoria tal cual es se ejecuta. #l otro tipo de archivo ejecuta'le es el archivo #<#. 8n proceso creado a partir de estos archivos puede tener un segmento de te)to, un segmento de datos, un segmento de pila, etc. #stos pueden ser reasignados conforme se cargan en la memoria. #l sistema operativo indica la diferencia entre los archivo 1%M los archivos #<# mediante los dos primeros ' tes no por medio de la e)tensin del nom're del archivo. Los primeros DN- ' tes de cada proceso de M$70%$ forman un 'loque especial de datos llamado "$" @prefijo del segmento del programaA. #l sistema operativo constru e este 'loque al momento de crear el proceso. "ara los archivos.com., cuenta como parte del espacio de direcciones del proceso se puede hacer referencia a 9l mediante las direcciones . a DNN. "or esta razn todos los procesos. 1om. comienzan en la direccin DN- no en la direccin .. "or el contrario, los archivos.#)e se reasignan por arri'a de "$", por lo que su direccin . es el primer ' te por arri'a del "$". #sto evita desperdiciar DN- ' tes de espacio de direcciones. "$" contiene el tama2o del programa, un apuntador al 'loque del am'iente, la direccin del manejador 16JL71, la cadena del comando, un apuntador al "$" del padre, la ta'la de descriptores del archivo otra informacin. #n M$70%$ un hijo hereda, por lo general, los archivos a'iertos del padre. $i un hijo lee o escri'e en un archivo a'ierto, al concluir, el padre ve la nueva posicin del archivo puede transferirla al siguiente. Los archivos a'iertos por el propio hijo se cierran de manera autom!tica al terminar 9ste su memoria es li'erada. "or lo general, cuando un proceso termina se reclama su memoria el proceso desaparece para siempre. $in em'argo, M$70%$ tiene una alternativa, donde se indica al sistema que no recupere su memoria, sino que considere que hizo su salida. #sta caracterstica ha generado la fa'ricacin de software 6$J @terminar permanecer residente o software residente en memoriaA. $on aquellos programas que permanecen en memoria aunque no est9n siendo ejecutados. $u presencia en memoria es latente, est!n listos para activarse en el momento que sean requeridos o sucedan en la m!quina las condiciones que est!n esperando. Los procesos en M$70%$ pueden instalar sus propios manejadores de interrupciones. #l programa 6$J no puede utilizar M$70%$ para leer nuevos datos mediante el teclado no lo puede utilizar para escri'ir en la pantalla. 6ampoco lo puede utilizar para tener acceso a archivos. :i siquiera puede utilizar el 4;%$, puesto que 9ste tam'i9n podra estar a mitad de una llamada al momento de oprimir la tecla adecuada. /s, el programa 6$J de'e realizar su propia #*$. #l modelo de memoria de M$70% #s 'astante complejo. #l espacio de direcciones se divide en cuatro regiones, con tama2os propiedades diferentes. /s, para comprender el modelo de memoria de M$70%$, es esencial comprender la arquitectura de la "1 0# ;4M sus sucesoras. La arquitectura de memoria del >.>> #l >.>. es un 1"8 de > 'its de ;ntel. 6ena varios registros de > 'its, entre los que se encontra'a un acumulador de > 'its D registros de direcciones de > 'its, W L, los cuales tam'i9n podan utilizarse como registros de +- 'its. /unque el >.>. slo tena una aritm9tica de > 'its, tena un direccionamiento real de +- 'its de hasta -FY ' tes de memoria, donde cada ' te se poda direccionar de manera independiente. Los sucesores del >.>., el >.>- el >.>>, se dise2aron para ser mejor que el >.>., pero que tam'i9n fueran compati'les. #l >.>> tiene +D registros: a. 1uatro registros de +- 'its, denominados /<, 4<, 1< T 0<, que pueden ser direccionados de > registros de > 'its, denominados /W,/L,4W,4L,1W,1L,0W,0L. #l registro /< sirve fundamentalmente como acumulador como registro de transferencia en las instrucciones #*$. #l registro 4< puede usarse como acumulador como registro 'ase para calcular las direcciones de los datos de memoria. #l registro 1< puede usarse como acumulador se utiliza como contador para las instrucciones interactivas. #l registro 0<

"ara ver tra'ajos similares o reci'ir informacin semanal so're nuevas pu'licaciones, visite www.monografias.com

www.monografias.com

puede usarse como acumulador se emplea como puntero de datos en ciertas instrucciones especificas de #*$. '. 1uatro registros de puntero de segmento denominados 1$, 0$, $$ #$. 0icho puntero define cuatro segmentos de -FY ' tes cada uno. 1ualquier direccin de memoria se forma, sumando al puntero del segmento una direccin efectiva calculada por diversos procedimientos. #l registro 1$, @segmento de cdigoA se utiliza para reasignar el contador del programaG el registro $$ @segmento de pilaA. #ste segmento lo utilizan principalmente los programadores en lenguaje ensam'lador, se utiliza para reasignar segmentos a la pilaG el registro 0$ @segmento de datoA se usa en instrucciones que manejan datos de memoria el registro #$ @segmento e)traA se utiliza en instrucciones que manejan cadena de caracteres. c. 1uatro registros que contienen direcciones de desplazamiento dentro de los segmentos denominados $",4",$;,0;. #l registro $" puntero de la pila de los registros $; 0; son registros de ndice, contienen desplazamiento de los punteros de segmento 0$ #$ en las instrucciones que manejan cadena de caracteres. #l registro 4" es el puntero 'ase que se utiliza para apuntar a la 'ase del marco de pila activo @para el acceso a varia'les localesA. 6odos estos registros de'en contener apuntadores. #l >.>- representa la arquitectura 'ase para todos los microprocesadores de +- 'its de ;ntel: >.>>, >.>-, >.+>>, >.+>- >.D>-. 6oda la familia >.)>- en adelante posee dos caractersticas en comn: a. /rquitectura segmentada. #sto significa que la memoria es dividida en segmentos con un tama2o m!)imo de -FY @informacin importante para el direccionamiento de la memoria en la futura programacin segmentada en el lenguaje ensam'ladorA '. 1ompati'ilidad de las instrucciones registros de las anteriores versiones son soportados por las nueve versiones, estas versiones son soportadas por versiones anteriores. /utor: )uan *uri+o Ospino juaned.ospino_gmail.com

"ara ver tra'ajos similares o reci'ir informacin semanal so're nuevas pu'licaciones, visite www.monografias.com

También podría gustarte