79
Unidad 1: Introducción a los SO 1. Concepto de Sistema Operativo Un sistema operativo es un programa que controla la ejecución de los programas de aplicación y que actúa como interfaz entre las aplicaciones del usuario y el hardware de un computador. 2. Objetivo del SO Tiene tres objetivos fundamentales: a. Comodidad: hace que un computador sea ms facil de utilizar. b. Eficiencia: permite que los recursos de un sistema informtico se aprovechen de manera ms eficiente. c. Capacidad de evolución: debe construirse de modo que permita el desarrollo efectivo! la verificación y la introducción de nuevas funciones al sistema. " continuación se detallaran estos tres aspectos: a. El sistema operativo como interfaz de usuariocomputador #e forma resumida! un $% ofrece servicios en las siguientes res: & Creación de pro!ramas:  ofrece múltiples funcionalidades y servicios para ayudar al programador a la creación de programas. 'ormalmente! estos servicios estn en forma de programas de utilidad! que realmente no forman parte del $% pero son accesibles a trav(s del mismo. & Ejecución de pro!ramas: para ejecutar un programa! se necesita llevar a cabo un cierto número de tareas. )l $% administra estas tareas para el usuario. & "cceso a los dispositivos de ES:  el $% proporciona una interfaz uniforme que oculta los detalles de acceso y control de los dispositivos! de modo que el programador pueda utilizarlos de una manera simple y clara. & "cceso controlado a los arc#ivos: el $% se encarga de los detalles de control y acceso a los archivos. & "cceso al sistema:  en el caso de un sistema compartido! el $% controla el acceso al sistema como un todo y a los recursos espec*ficos del mismo. & $etección % respuesta a errores: cuando un sistema informtico est en funcionamiento puede producirse una serie de errores. )n cada caso! el $% debe dar una respuesta que elimine la condición de error con el menor impacto posible sobre las aplicaciones que estn en ejecución. b. El sistema operativo como administrador de recursos Un computador es un conjunto de recursos para el movimiento! almacenamiento y proceso de datos y para el control de estas funciones. )l $% es el responsable de la gestión y control de estos recursos.

Mega Resume n Sop

Embed Size (px)

Citation preview

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 1/79

Unidad 1: Introducción a los SO

1. Concepto de Sistema Operativo

Un sistema operativo es un programa que controla la ejecución de los programas deaplicación y que actúa como interfaz entre las aplicaciones del usuario y el hardware de uncomputador.

2. Objetivo del SO

Tiene tres objetivos fundamentales:a. Comodidad: hace que un computador sea ms facil de utilizar.b. Eficiencia: permite que los recursos de un sistema informtico se aprovechen de

manera ms eficiente.c. Capacidad de evolución: debe construirse de modo que permita el desarrollo

efectivo! la verificación y la introducción de nuevas funciones al sistema." continuación se detallaran estos tres aspectos:

a. El sistema operativo como interfaz de usuariocomputador

#e forma resumida! un $% ofrece servicios en las siguientes res:

& Creación de pro!ramas: ofrece múltiples funcionalidades y servicios para ayudar alprogramador a la creación de programas. 'ormalmente! estos servicios estn enforma de programas de utilidad! que realmente no forman parte del $% pero sonaccesibles a trav(s del mismo.

& Ejecución de pro!ramas: para ejecutar un programa! se necesita llevar a cabo uncierto número de tareas. )l $% administra estas tareas para el usuario.

& "cceso a los dispositivos de ES: el $% proporciona una interfaz uniforme queoculta los detalles de acceso y control de los dispositivos! de modo que elprogramador pueda utilizarlos de una manera simple y clara.

& "cceso controlado a los arc#ivos: el $% se encarga de los detalles de control yacceso a los archivos.

& "cceso al sistema: en el caso de un sistema compartido! el $% controla el accesoal sistema como un todo y a los recursos espec*ficos del mismo.

& $etección % respuesta a errores: cuando un sistema informtico est enfuncionamiento puede producirse una serie de errores. )n cada caso! el $% debedar una respuesta que elimine la condición de error con el menor impacto posiblesobre las aplicaciones que estn en ejecución.

b. El sistema operativo como administrador de recursos

Un computador es un conjunto de recursos para el movimiento! almacenamiento y proceso

de datos y para el control de estas funciones. )l $% es el responsable de la gestión ycontrol de estos recursos.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 2/79

'ormalmente! se piensa en un mecanismo de control como algo e+terno a lo que se estcontrolando. ,ste no es el caso de un $%! que nos habitual como mecanismo de contro endos aspectos:

& )l $% funciona de la misma manera que el software normal de un computador! esdecir! es un programa o una serie de programas ejecutados por el procesador.

& )l $% abandona con frecuencia el control y debe depender del procesador pararecuperarlo.

)ntonces! como otros programas! el $% proporciona instrucciones al procesador. -adiferencia clave est en el propósito del programa. )l $% dirige al procesador en el empleode otros recursos del sistema y en el control del tiempo de ejecución de otros programas.-os recursos principales que el $% debe administrar y controlar son la memoria! el tiempode procesador y los dispositivos de )$.

c. &acilidad de evolución de un sistema operativo

Un $% importante evolucionar en el tiempo por una serie de razones:

& "ctualización del #ard'are % nuevos tipos de #ard'are& (uevos servicios: como respuesta a las demandas del usuario o las necesidadesde los administradores del sistema.

& Correcciones: desafortunadamente! el $% tiene fallos que se descubrirn con elcurso del tiempo y que es necesario corregir.

) Evolución de los sistemas operativos

).1 *roceso en serie

)n los primeros computadores! de finales de los /0 hasta mediado de los 10! elprogramador actuaba directamente con el hardware! no hab*a $%. -a operación con estasmquinas era desde una consola consistente en unos indicadores luminosos! unosconmutadores! algún tipo de dispositivo de entrada y otro de salida como una impresora.-os programas en código mquina se cargaban a trav(s del dispositivo de entrada y elprograma se ejecutaba hasta su culminación normal o se deten*a en caso de producirse unerror.)stos primeros sistemas presentaban dos problemas:

& *lanificación: la mayor*a de las instalaciones empleaban un formulario de reserva

de tiempo de mquina. Un usuario pod*a reservar una hora y terminar en /1minutos2 esto daba como resultado un desperdicio de tiempo del computador.Tambi(n pod*a presentarse el caso de el que usuario no termine en el tiemporeservado.

& +iempo de preparación: un programa sencillo! llamado trabajo! cargaba uncompilador y un programa en lenguaje de alto nivel 3programa fuente4 en lamemoria! salvaba el programa compilado 3programa objeto4 y luego cargaba ymontaba el programa objeto junto con las funciones comunes. $i se produc*a unerror en algún paso! el usuario ten*a que volver al inicio de este proceso depreparación.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 3/79

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 4/79

)., Sistema de tiempo compartido

-a t(cnica de tiempo compartido! refleja el hecho de que el tiempo del procesador secomparte entre los diversos usuarios. )n un sistema de este tipo! múltiples usuariosacceden simultneamente al sistema por medio de terminales! donde el sistema operativo

intercala la ejecución de cada programa de usuario en rfagas cortas o cuantos 3quantum4de computación. )l tiempo de respuesta de un sistema correctamente dise=ado deber*a sercomparable al de un computador dedicado.

, Caracter-sticas de los SO modernos

;on el paso de los a=os! se ha producido una evolución gradual en la estructura ycapacidades de los $%. )stos responden a nuevos desarrollos del hardware y nuevasaplicaciones.

6uchos de los diferentes enfoques y elementos de dise=o se han probado tanto en $%e+perimentales como comerciales! y muchos encajan dentro de las siguientes categor*as:& "ruitectura micron/cleo.& 0ulti#ilos& 0ultiprocesamiento simtrico& Sistemas operativos distribuidos& $iseo orientado a objetos

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 5/79

Unidad 2: "dministración % !estión de

arc#ivos1. "rc#ivos

1.1 Concepto

-os archivos son un mecanismo de abstracción que permite almacenar información en eldisco y leerla despu(s.

1.2 (ombres de arc#ivos

-as reglas e+actas para nombrar archivos var*an un tanto de un sistema a otro! pero todoslos sistemas operativos permiten usar por ejemplo cadenas de una a ocho letras comonombre de archivos vlidos. )s común que se permita tambi(n d*gitos y caracteresespeciales. 6uchos sistemas de archivos reconocen nombres de hasta >11 caracteres delongitud."lgunos sistemas de archivos distinguen entre mayúsculas y minúsculas! pero otros no.U'7? pertenece a la primer categor*a2 6$@#%$! a la segunda.6uchos sistemas de archivos manejan nombres de archivos en dos partes! separadas conun punto. -a parte que sigue al punto se denominaextensión de archivo! y por lo regularindica algo acerca del archivo. )n 6$@#%$! por ejemplo! los nombres de archivo tienen deuno a ocho caracteres! ms una e+tensión opcional de uno a tres caracteres. )n U'7?! eltama=o de la e+tensión! si la hay! se deja a criterio de usuario! y un archivo podr*a inclusotener dos o ms e+tensiones.

1.) Estructura de arc#ivos

-os archivos pueden estructurarse de varias maneras:a. Sucesión de b%tes: con este enfoque! el $% no sabe que contiene el archivo! ni le

interesa2 lo único que ve son bytes. ;ualquier significado que tenga el archivodebern impon(rselo los programas en el nivel de usuario. Tanto U'7? como

Aindows utilizan este enfoque que ofrece el m+imo de fle+ibilidad.b. Sucesión de re!istros: en este modelo! un archivo es una sucesión de registros de

longitud fija! cada uno de los cuales tiene una cierta estructura interna. Un aspectofundamental de la idea de que un archivo es una sucesión de registros es la idea deque la operación de lectura devuelve un registro y que las operaciones de escriturasobrescribe o ane+a un registro.

c. 3rbol: en esta organización! un archivo consiste en un rbol de registros! no todosnecesariamente de la misma longitud! cada uno de los cuales contiene un campoclave en una posición fija del registro. )l rbol est ordenado según el campo clave!con objeto de poder hallar con rapidez una clave en particular. )ste enfoque seutiliza en forma amplia en las grandes computadorasmainframe que todav*a seemplean en el procesamiento comercial de datos.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 6/79

1., +ipos de arc#ivos

6uchos $% reconocen varios tipos de archivos. U'7? y Aindows! por ejemplo! tienen unarchivo y directorios normales. U'7? tambi(n tiene archivos especiales de bloques y decaracteres.

& "rc#ivos normales: son los que contienen información de usuario.& $irectorios: son archivos del sistema que sirven para mantener la estructura del

sistema de archivos.& "rc#ivos especiales de caracteres: tienen que ver con entradasalida y sirven para

modelar dispositivos de )$ en serie como terminales! impresoras y redes.& "rc#ivos especiales de bloue: sirven para modelar discos.

-os archivos normales por lo regular son archivos "$;77 o archivos binarios. -os archivos"$;77 consisten en l*neas de te+to. -a gran ventaja de estos es que pueden e+hibirse eimprimirse tal cual! y pueden modificarse con cualquier editor de te+to. <or otro lado! losarchivos binarios si se imprimen en una impresora se produce un listado incomprensible queparece estar lleno de basura. <or lo regular! tienen alguna estructura conocida por el

programa que los usan.

1.4 "cceso a los arc#ivos

-os primeros sistemas operativos solo permit*an un tipo de acceso a los archivos:accesosecuencial. )n esos sistemas! un proceso pod*a leer todos los bytes o registros de unarchivo en orden! comenzando por el principio! pero no se pod*a efectuar saltos y leerlos enotro orden. )ran convenientes cuando el medio de almacenamiento era una cintamagn(tica.;uando comenzaron a usarse discos para almacenar archivos se hizo posible leer bytes o

registros de un archivo sin un orden espec*fico! o tener acceso a los registros por clave! no

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 7/79

por posición. -os archivos cuyos bytes o registros pueden leerse en cualquier orden sedenominan arc#ivos de acceso aleatorio.$e usan dos m(todos para especificar donde debe iniciar la lectura en archivos de accesoaleatorio. )n el primero! cada operación read  da la posición en el archivo donde debecomenzarse a leer. )n el segundo! se cuenta con una operación especial!seek ! paraestablecer la posición actual. #espu(s delseek ! el archivo podr leerse en forma secuenciala partir de la posición que ahora es actual.

1.5 "tributos de arc#ivos

Todo archivo tiene un nombre y datos. "dems! todos los $% asocian otra información acada archivo. )sta información adicional recibe el nombre deatributos.

1.6 Operaciones con arc#ivos

" continuación se listaran las llamadas al sistema ms comunes relacionadas con archivos:& Create. $e crea el archivo sin datos.& $elete. $i ya no se necesita un archivo! se borra con esta operación.& Open. "ntes de usar un archivo! un proceso debe abrirlo. )l propósito de esta

llamada! es que el sistema obtenga los atributos y la lista de direcciones de disco ylos coloque en la memoria principal para tener acceso a ellos en llamadas

posteriores.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 8/79

& Close. Una vez que terminaron todos los accesos! se cierra el archivo paradesocupar espacio en memoria.

& 7ead. $e leen datos de un archivo. Buien efectúa la llamada debe especificarcuantos datos necesita! y el búfer donde deben colocarse.

& 8rite. $e escriben datos en un archivo! por lo regular! en la posición actual.

& "ppend. )s una forma restringida de write2 solo puede agregar datos al final delarchivo.

& See9. Ceubica el apuntador de archivo en un lugar especifio del mismo.& et attributes. <ara leer atributos de un archivo.& Set attributes. <ara establecer ciertos atributos o modificarlos despu(s de que se

creó el archivo.& 7ename. )s muy común necesitar cambiar el nombre de un archivo! esta llamada lo

hace posible.

2. $irectorios

<ara llevar el control de los archivos! los sistemas de archivos suelen tenerdirectorios ocarpetas que! en muchos sistemas! tambi(n son archivos.

2.1 Sistemas de directorios de un solo nivel

-a forma ms sencilla de sistemas de directorios es que un directorio contenga todos losarchivos. " veces se le llama directorio ra!! pero dado que es el único! el nombre noimporta mucho.-as ventajas de este esquema son su sencillez y la capacidad para localizar archivos con

rapidez2 despu(s de todo! solo pueden estar en un solo lugar.)l problema de tener un directorio en un sistema con múltiples usuarios es que diferentesusuarios podr*an usar por accidente los mismos nombres para sus archivos y esto puedegenerar problemas.

2.2 Sistemas de directorios de dos niveles

<ara evitar conflictos cuando dos usuarios escogen el mismo nombre para sus propiosarchivos! el siguiente escalón ser*a dar a cada usuario un directorio privado."lgo impl*cito en este dise=o es que cuando un usuario trata de abrir un archivo! el sistemanecesita saber de qu( usuario se trata para saber en cual directorio buscar. <or ello! serequiere algún tipo de procedimiento de login en el que el usuario especifica un nombre ouna identificación de inicio de sesión.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 9/79

2.) Sistema de directorios jer;ruicos

)s muy común que los usuarios quieran agrupar sus archivos de una forma lógica. $enecesita alguna forma de agrupar sus archivos dentro de esquemas fle+ibles

determinados por el usuario.

$e necesita de una jerarqu*a general 3es decir! un rbol de directorios4. ;on este enfoque!cada usuario puede tener tantos directorios como necesite para agrupar archivos encategor*as naturales.;asi todos los sistemas de archivos modernos estn organizados de esta manera! por sufle+ibilidad y ser una herramienta potente para organizar archivos.

2., (ombres de ruta 

;uando un sistema de archivos est organizado como un rbol de directorios! se necesitaun mecanismo para especificar los nombres de los archivos. <or lo común se utilizan dosm(todos. )n el primero! cada archivo recibe unnombre de ruta absoluta  que consiste enel camino que debe seguirse para llegar del directorio ra*z hasta el archivo.)l otro tipo de nombre es el nombre de ruta relativa . )ste se usa junto con el concepto dedirectorio de trabajo o actual . Un usuario puede designar un directorio como su directorioactual! en cuyo caso todos los nombres de ruta que no empiecen en el directorio ra*z seconsideraran relativos al directorio de trabajo.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 10/79

2.4 Operaciones con directorios

;reate! #elete! %pendir! ;losedir! Ceaddir! Cename! -inD! UnlinD.

). Implementación de sistemas de arc#ivos

).1 Or!anización del sistema de arc#ivos

-os sistemas de archivos se almacenan en discos. ;asi todos pueden dividirse en una oms particiones! con sistemas de archivos independientes en cada una. )l sector 0 deldisco se llama 7e!istro 0aestro de "rranue 368C! Master "oot #ecord 4 y sirve paraarrancar la computadora. )l final de la 68C contiene una tabla de particiones! la cualcontiene las direcciones inicial y final de cada partición. Una de las particiones de la tablaest marcada como activa. ;uando se enciende la computadora! el 87%$ lee el 68C deldisco y lo ejecuta. -o primero que hace el programa del 68C es localizar la partición activa!

leer su primer bloque 3llamadobloque de arranque4! y ejecutarlo. )l programa del bloque dearranque carga el $% contenido en esa partición.-a organización de una partición de disco var*a en forma considerable de un sistema dearchivos a otro. )s común que el sistema de archivos contenga algunos de los elementosque se muestran en la siguiente figura.

).2 Implantación de arc#ivos

Tal vez el aspecto ms importante de la implementación del almacenamiento de archivossea llevar el control de cuales bloques de discos corresponden a cul archivo. <ara elloe+isten diversos m(todos e+plicados a continuación.

"si!nación conti!ua:

)l esquema de asignación ms simple es almacenar cada archivo en una serie contigua debloques de disco. ;abe se=alar que cada archivo inicia al principio de un bloque nuevo! demodo que si un archivo ocupa por ejemplo E!1 bloques! se desperdiciar*a mitad de unbloque.-a asignación de espacio contiguo en disco tiene dos ventajas importantes. -a primera esque su implementación es sencilla porque para llevar el control de dónde estn los bloques

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 11/79

de un archivo basta con recordad dos números: la dirección en disco del primer bloque y elnúmero de bloques del archivo.-a segunda es que el desempe=o de lectura es e+celente porque puede leerse todo unarchivo del disco en una sola operación. $olo se necesita un desplazamiento del brazo 3alprimer bloque4. #espu(s! no se requieren ms desplazamientos ni retrasos rotacionales.<or desgracia! la asignación contigua tambi(n tiene una importante desventaja: con eltiempo! el disco se fragmenta.

"si!nación por lista enlazada:

;onsiste en mantener cada archivo como una lista enlazada de bloques de disco. -a primerpalabra de cada bloque se usa como apuntador al siguiente2 el resto del bloque se usa paradatos.;on este m(todo pueden usarse todos los bloques del disco. 'o se pierde espacio porfragmentación de disco 3solo por fragmentación interna en el último bloque4."unque la lectura secuencial de un archivo es directa! el acceso aleatorio es lento en

e+tremo. <ara llegar al bloquen! el $% tiene que comenzar por el principio y leer losn$% bloques que lo preceden! uno por uno."dems! la cantidad de datos almacenados en un bloque ya no es potencia de > porque elapuntador ocupa unos cuantos bytes. <or este motivo! merma la eficiencia porque muchosprogramas leen y escriben bloques cuyo tama=o es una potencia de >. #e esta manera! laslecturas de bloques enteros requieren obtener y concatenar información de dos bloques dedisco! lo cual genera un gasto adicional.

"si!nación por lista enlazada empleando una tabla en memoria 

-as dos desventajas de las asignación por lista enlazada pueden eliminarse sacando alapuntador de cada bloque de disco y colocndolo en una tabla en memoria! la cual sedenomina +abla de "si!nación de "rc#ivos 3F"T! &ile Allocation 'able4."l igual que con el m(todo anterior! basta con que la entrada de directorio guardo un soloentero 3el número de bloque inicial4 para poder localizar todos los bloques! sin importar qu(tama=o tenga el archivo.-a desventaja primordial de este m(todo es que! para que funcione! toda la tabla debe estaren la memoria todo el tiempo.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 12/79

(odos<i

)ste m(todo consiste en asociar a cada archivo una estructura de datos llamadanodo<i=nodo -ndice>! que contiene los atributos y direcciones en disco de los bloques del archivo.-a gran ventaja de este enfoque es que el nodo@i solo tiene que estar en memoria cuando el

archivo correspondiente este abierto.)n contraste con una tabla F"T! que aumenta proporcionalmente al tama=o de los discos!este esquema requiere un arreglo en la memoria cuyo tama=o sea proporcional al númerom+imo de archivos que pueden estar abiertos a la vez. 'o importa el tama=o del disco.Un problema de los nodos@i es que si cada uno tiene un espacio para un número fijo dedirecciones de disco! GBu( sucede cuando un archivo crece ms all del l*miteH Unasolución es reservar la última dirección de disco no para un bloque de datos! sino para ladirección de un bloque que contenga ms direcciones de bloques de disco. "lgo! aún msavanzado seria tener dos o ms de esos bloques llenos de direcciones de disco o inclusobloques de disco que apunten a otros bloques de disco llenos de direcciones.

, Implantación de directorios

<ara poder leer un archivo! es preciso abrirlo primero. ;uando se abre un archivo! el $%utiliza el nombre de ruta proporcionado por el usuario para localizar la entrada de directorio.,sta proporciona la información necesaria para hallas los bloques de disco. <or lo tanto! lafunción principal del sistema de directorios es establecer una correspondencia entre elnombre de archivo "$;77 y la información necesaria para localizar datos.Todo sistema de archivos mantiene atributos de los mismos. Una posibilidad obvia esguardarlos directamente en la entrada de directorio. 6uchos sistemas hacen precisamenteesto. )n un dise=o sencillo! un directorio es una lista de entradas de tama=o fijo! una por

archivo! que contiene un nombre de archivo 3de longitud fija4! una estructura con losatributos del archivo y una o ms direcciones de disco que indiquen donde estn los

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 13/79

archivos. )n los sistemas que usan 'odos@i! otra posibilidad es almacenar los atributos enlos mismos! en lugar de en las entradas de directorio.Iasta ahora hemos supuesto que los archivos tienen nombre cortos de longitud fija. $inembargo! casi todos los %$ actuales reconocen nombres de archivos ms largos! delongitud de variable. Una alternativa para esto! es abandonar la idea de que todas lasentradas de directorio tienen el mismo tama=o. ;on este m(todo! cada entrada contieneuna porción fija! que por lo regular principia con la longitud de la entrada y seguida de losatributos. )ste encabezado de longitud fija va seguido del nombre de archivo en s*! quepuede tener cualquier longitud. 3Figura J@9a4Una desventaja de este m(todo es que cuando se elimina un archivo queda en el directorioun hueco de tama=o variable! aunque es factible compactar el directorio porque est porcompleto en memoria. %tro problema es que una sola entrada de directorio podr*a cruzarfronteras de pgina! por lo que podr*a presentarse un fallo de pgina durante la lectura deun nombre de archivo.%tra forma de manejar los nombres variables es hacer que todas las entradas de directoriosean de longitud fija y mantener los nombres de archivo juntos en unheap al final deldirectorio. 3Figura J@9b4

Una forma de acelerar la búsqueda es utilizar una tabla dehash en cada directorio. $ee+amina la entrada de tabla correspondiente al código dehash calculado a partir delnombre del archivo especificado. $i est desocupada! se coloca en ella un apuntador a laentrada del archivo. $i ya est en uso es ranura! se construye una lista enlazada!encabezada por esa entrada de tabla! que encadena todas las entradas que tienen elmismo valor de hash. "unque la búsqueda es ms rpida! la administración de este m(todoes ms compleja.

4 "rc#ivos compartidos

;uando varios usuarios colaboran en un proyecto! es común que necesiten compartirarchivos. -a cone+ión entre el directorio de un usuario y un archivo compartido se llamaenlace =lin9>.Iay dos formas de crear un enlace. )n la primera! los bloques de disco no se listan en losdirectorios! sino en una peque=a estructura de datos asociada con el archivo mismo. -osdirectorios apuntar*an entonces solo a la peque=a estructura de datos. ,ste es el m(todo

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 14/79

que se usa en U'7? 3donde la peque=a estructura es el nodo@i4. )ste tipo de enlace sedenomina enlace duro.)n la segunda solución! un directorio se enlaza con otro archivo pidiendo al sistema quecree un archivo nuevo! de tipo link ! y lo introduzca en el directorio. )l nuevo archivo solocontiene el nombre de la ruta del archivo con el cual est enlazando. )ste m(todo se llama

enlace simbólico.)l problema de los enlaces simbólicos es el procesamiento adicional requerido. )s precisoleer el archivo que contiene la ruta! la cual entonces debe analizarse y seguirse!componente por componente! hasta llegar al nodo@i o la estructura de datoscorrespondiente. " pesar de esto! tienen la ventaja de que pueden enlazarse con archivosde mquinas que pueden estar en cualquier lugar del mundo.

5 "dministración de espacio en disco

5.1 +amao de bloue

Una vez que se ha decidido almacenar archivos en bloques de tama=o fijo! surge lapregunta de qu( tama=o debe tener un bloque.Tener una unidad de asignación grande! por ejemplo J/Db! implica que todos los archivos!as* tengan un solo byte! ocuparan un bloque entero de J/Db. <or otra parte! el uso de unaunidad de asignación peque=a implica que cada archivo va a constar de varios bloques.-eer cada bloque por lo regular requiere un desplazamiento del bazo y un retraso rotacional!por lo que la lectura es lenta." partir de lo planteado! se puede afirmar que la tasa de transferencia de datos esproporcional al tama=o de los bloques2 mientras que el aprovechamiento del disco esinversamente proporcional al tama=o de bloques.)n caso de U'7?! es común usar Db de tama=o de bloque. 6ientras que en 6$@#%$! eltama=o de bloque puede ser cualquier potencia de >! desde 1> bytes! hasta E>Db.

5.2 Control de bloues libres

$e usan principalmente dos m(todos para administrar los bloques libres. )l primer consisteen utilizar una lista enlazada de bloques libres de disco! en cada uno de los cuales seguardan tantos números de bloques de disco como quepan.

-a otra t(cnica de administración de espacio libre es un mapa de bits. Un disco conn bloques requiere un mapa de bits conn bits. -os bloques libres se representan con unos ylos asignados con cero 3o viceversa4.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 15/79

5.) Cuotas de disco

<ara evitar que las personas acaparen demasiado espacio de disco! los $% multiusuario amenudo tienen un mecanismo para imponer cuotas de disco. -a idea consiste en que eladministrador asigne a cada usuario una porcion m+ima de archivos y bloques! y que el$% cuide que los usuarios no e+cedan su cuota.;uando un usuario abre un archivo! se localizan los atributos y direcciones de disco y secolocan en una tabla de archivos abiertos en la memoria principal. )ntre los atributos hayuna entrada que indica quien es el due=o del archivo. ;ualquier aumento en el tama=o delarchivo! se cargar a la cuota del due=o.Una segunda tabla contiene los registros de cuota de cada uno de los usuarios que tienenun archivo abierto en ese momento.;uando se inserta una nueva entrada en la tabla de archivos abiertos! se incluyen en ella unapuntador al registro de cuota del due=o de ese archivo! para poder hallar los diversosl*mites. ;ada vez que se a=ade un bloque a un archivo! se incrementa el número total de

bloques cargados al due=o! y se coteja con ambos l*mites! el estricto y el no estricto. )ll*mite no estricto puede e+cederse! pero el estricto no. Un intento de aumentar el tama=o deun archivo cuando se ha llegado al l*mite de bloques estricto producir un error. $e hacenverificaciones analogas para el número de archivos.;uando un usuario intenta iniciar sesión! si se ha violado cualquiera de esos l*mites! see+hibe una advertencia y se reduce en uno la cuenta de advertencias restantes. $i esacuente llega a cero! no se le permitir ms iniciar sesión.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 16/79

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 17/79

Unidad ): "dministración de *rocesos

1 *rocesos % pro!ramas

-a misión principal del procesador es ejecutar las instrucciones de la mquina que residenque residen en la memoria principal. )stas instrucciones se dan en forma de programas.<ara que un programa se ejecute se debe crear un proceso o tarea para (l. #esde el puntode vista del procesador! este ejecutara instrucciones de su repertorio en una secuenciadictada por los valores cambiantes del registrocontador de programa. " lo largo del tiempo!este contador puede apuntar al código de distintos programas que son parte de diferentesprocesos. #esde el punto de vista de un programa individual! su ejecución involucra unasecuencia de instrucciones dentro de ese programa.)l comportamiento de un proceso individual puede caracterizarse por la lista de lasecuencia de instrucciones que se ejecutan para dicho proceso. #icho listado se llamatra!a

del proceso. )l comportamiento del procesador puede caracterizarse mostrando la forma enque se intercalan las trazas de varios procesos.

2. Creación de procesos

;uando se a=ade un proceso! hay que construir las estructuras de datos que se utilizanpara su administración y asignar el espacio de direcciones en la memoria principal para elproceso.;uatro sucesos comunes conducen a la creación de un proceso:

& )n un entorno de trabajo por lotes! un proceso se crea como respuesta a la emisiónde un trabajo.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 18/79

& )n un entorno interactivo! se crea un proceso cuando usuario intenta conectarse.& Un sistema operativo puede crear un proceso como parte de una aplicación para dar

un servicio.& Un proceso tambi(n puede crear otros procesos.

). +erminación de procesos

;ualquier sistema informtico debe ofrecer alguna forma para que un proceso pueda indicarque ha terminado. -as causas t*picas de terminación de un proceso pueden ser: terminaciónnormal! tiempo l*mite e+cedido! no hay memoria disponible! error de protección! instrucciónilegal! mal uso de los datos! terminación del padre! solicitud del padre.

,. El modelo de cinco estados

)ste modelo consta de los siguientes estados:& Ejecución: el proceso que actualmente est en ejecución.& ?isto: proceso que est preparado para ejecutarse! en cuanto se le d( la

oportunidad.& @loueado: proceso que no se puede ejecutar hasta que se produzca cierto suceso!

como la terminación de una )$.& (uevo: proceso que se acaba de crear! pero que aún no ha sido admitido por el

sistema operativo en el grupo de procesos ejecutables. "ún no est cargado enmemoria principal.

& +erminado: un proceso que ha sido e+cluido por el $% del grupo de procesosejecutables! bien porque se detuvo o porque fue abandonado por alguna razón.

-as tipos de sucesos que producen cada transición de estados son:& (ulo <A (uevo: se crea un nuevo proceso para ejecutar un programa.& (uevo <A ?isto: se producir cuando el $% est( preparado para aceptar un proceso

ms.& ?isto <A Ejecución: cuando es el momento de seleccionar un nuevo proceso para

ejecutar! el $% elige uno de los procesos del estado -isto.& Ejecución <A +erminado: el proceso que se est ejecutando es finalizado por el $%

si indica que terminó o si se abandona.& Ejecución <A ?isto: la razón ms común de esta transición es que el proceso que

est en ejecución ha alcanzado el tiempo m+imo permitido de ejecución

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 19/79

ininterrumpida. %tra razón es si el $% asigna diferentes niveles de prioridad a losprocesos y cambia un proceso por otro con mayor prioridad.

& Ejecución <A @loueado: un proceso se pone en estado de bloqueado si solicitaalgo por lo que debe esperar. <uede pedir un recurso o iniciar una acción como unaoperación de )$.

& @loueado <A ?isto: un proceso que est en el estado bloqueado pasar al estadolisto cuando se produzca el suceso que estaba esperando.

& ?isto <A +erminado: en algunos $%! el proceso padre puede terminar con suproceso hijo en cualquier momento.

& @loueado <A +erminado: se aplica lo mismo que para la transición anterior.

4. *rocesos suspendidos

#ado que el procesador es tan rpido comparado con la )$ que suele ser habitual quetodos los procesos de memoria est(n esperando por )$. "s* pues! incluso conmultiprogramación! el procesador podr*a estar desocupado la mayor parte del tiempo. Unasolución ser*a alojar ms procesos con una mayor cantidad de memoria principal! pero estasolución no es factible.%tra solución es el intercambio! lo que significa mover una parte o todo el proceso de lamemoria principal al disco. ;uando ninguno de los procesos en memoria principal est enestado -isto! el $% pasa al disco uno de los procesos que est( 8loqueado y lo lleva a unacola de $uspendidos. )l espacio que se libero puede entonces utilizarse entonces para traerotro proceso! ya sea de la cola de suspendidos o aceptar la creación de un nuevo proceso."l emplear intercambio! se debe a=adir un nuevo estado al modelo de cinco estado!Suspendido.<ero este razonamiento presenta una dificultad. Todos los procesos que fueronsuspendidos estaban en el estado de 8loqueado. Cealmente no har*a ningún bien traer de

nuevo a la memoria principal un proceso 8loqueado porque no est todav*a listo paraejecutarse. <ara resolver esto se necesitan estos cuatro estados:& ?isto: el proceso est en la memoria principal y listo para la ejecución.& @loueado: el proceso est en la memoria principal esperando un suceso.& @loueado % suspendido: el proceso est en la memoria secundaria esperando un

suceso.& ?isto % suspendido: el proceso est en la memoria secundaria pero est disponible

para su ejecución tan pronto como se cargue en la memoria principal.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 20/79

5. Estructuras de control del sistema operativo

$i el $% va a administrar los procesos y los recursos! entonces tiene que disponer deinformación sobre el estado actual de cada proceso y de cada recurso2 para ello! el $%construye y mantiene tablas de información sobre cada entidad que est administrando

5.1 +ablas de memoria 

$e utilizan para seguir la pista de la memoria principal 3real4 y secundaria 3virtual4. <arte dela memoria principal est reservada para el $%2 el resto est disponible para los procesos.-a tablas deben incluir la siguiente información:

& -a asignación de memoria principal a los procesos.& -a asignación de memoria secundaria a los procesos.& ;ualesquiera atributos de protección de bloques de memoria principal o virtual.& ;ualquier información necesaria para gestionar la memoria virtual.

5.2 +ablas de ES

$on utilizadas por el $% para administrar dispositivos y los canales de )$ del sistema

informtico. $i hay una operación de )$ en marcha! el $% necesita conocer el estado de la

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 21/79

operación y la posición de memoria principal que se est utilizando como origen o destinode la transferencia de )$.

5.) +ablas de arc#ivos

%frecen información sobre la e+istencia de los archivos! su posición en la memoriasecundaria! su estado actual y otros atributos."dems de ests tablas! el $% deber mantener unatabla de procesos para poderadministrarlos. #ebe quedar claro tambi(n! que todas estas tablas no son independientesunas de otras! deben estar enlazadas de alguna manera.

6. Estructuras de control de procesos

6.1 Ubicación de los procesos

Un proceso constar! al menos! de la memoria suficiente para albergar los programas y losdatos del proceso. "dems de esto! en la ejecución de un programa entra en juegonormalmente una pila! que se utiliza para llevar la cuenta de las llamadas a procedimientosy de los parmetros que se pasan entre los procedimientos. <or último! asociado a cadaproceso hay una serie de atributos utilizados por el $% para su control. )stos atributos seconocen como bloque de control . )sta colección de programa( datos( pila atributos seconoce como ima!en del proceso.)n el caso ms simple! la imagen del proceso se guarda como un bloque contiguo! ocontinuo de memoria. <ara que el $% pueda administrar el proceso! al menos una peque=aparte de su imagen! que contiene la información a usar por el $%! debe mantenerse enmemoria principal. <ara ejecutar el proceso! la imagen completa debe cargarse a la

memoria principal! o al menos a la memoria virtual. <or lo tanto! las tablas mantenidas por el$%! deben mostrar la ubicación de cada segmento o pgina 3dependiendo el esquema quese use4 de cada imagen de proceso.

6.2 "tributos de los procesos

$e puede agrupar la información de los bloques de control de procesos en tres categor*asgenerales:

& Identificador de proceso: en casi todos los $% se le asigna a cada proceso unidentificador num(rico único. )ste identificador es útil en varios sentidos. 6uchas delas tablas controladas por el $% pueden usar identificadores de procesos comoreferencias cruzadas a las tablas de procesos.

& Información del estado del proceso: est formada por el contenido de los registrosdel procesador. 6ientras un proceso est ejecutndose! la información est en losregistros. ;uando se interrumpe el proceso! toda la información de los registros debesalvarse de forma que pueda restaurarse cuando el proceso reanude su ejecución.-a naturaleza y el número de los registros involucrados dependen del dise=o delprocesador.

& Información de control del proceso: esta es la información adicional necesariapara que el $% controle y coordine los diferentes procesos activos. )sta informaciónpuede estar formada por: estado! estructura de datos! comunicación entre procesos!

privilegios! gestión de memoria! propiedad de recursos y utilización.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 22/79

B. 0odos de ejecución

-a mayor*a de los procesadores soportan al menos dos modos de ejecución. ;iertasinstrucciones solamente se pueden ejecutar en el modo ms privilegiado! como as* tambi(nel acceso a ciertas regiones de memoria necesitan este modo.

& 0odo usuario: es as* como se conoce al modo menos privilegiado. -os programasde usuario se ejecutan normalmente en este modo.

& 0odo n/cleo: este el modo m*s privilegiado! con el cual el software tiene controlcompleto del procesador y de todas sus instrucciones! registros y memoria. )stenivel de control no es necesario y! por seguridad! tampoco conveniente para losprogramas de usuario.

'ormalmente hay un bit en la palabra de estado de programa 3<$A4 que indica el modo deejecución. )l bit puede cambiar como respuesta a ciertos sucesos.

. Creación de procesos

Una vez que el $% decide! por alguna razón! crear un nuevo proceso! (ste puede procedercomo sigue:

. "si!nar un identificador /nico al nuevo proceso: en este instante se a=ade unanueva entrada a la tabla principal de procesos.

>. "si!nar espacio para los procesos: esto incluye todos los elementos de la imagendel proceso.

E. Iniciar el bloue de control del proceso/. Establecer los enlaces apropiados: por ejemplo! poner el proceso nuevo en la

cola de listos.1. Crear o ampliar otras estructuras de datos: por ejemplo! algún tipo de archivo de

contabilidad para futuros informes de rendimiento.

1D. Cambio de proceso

Un cambio de proceso puede producirse en cualquier momento en que el $% haya tomadoel control a partir del proceso que est actualmente ejecutndose. -os posibles sucesos quepueden dar el control al $% son:

& Interrupción: el control primero se transfiere al gestor de interrupciones! quien llevaa cabo algunas tareas bsicas y despu(s! se salta a una rutina del $% que se ocupadel tipo de interrupción producida. "lgunos tipos son:

K 7nterrupción de reloj K 7nterrupción de )$K Fallo de memoria:  cuando el procesador encuentra una referencia a una

dirección de memoria virtual de una palabra que no est en la memoriaprincipal.

& Cepos: es un tipo de interrupción que tiene que ver con una condición de error o dee+cepción generada dentro del proceso que est ejecutndose! como un intentoilegal de acceso a un archivo. )l $% determina si el error es fatal. $i lo es! el procesoque estaba ejecutando pasa al estado de Terminado y se produce un cambio deproceso2 si no es fatal! la acción del $% depender de la naturaleza del error y eldise=o del $%.

& ?lamada del supervisor: el uso de una llamada al sistema hace que el proceso de

usuario pase al estado 8loqueado y el control pase al $%.;uando se cambia un proceso se debe cumplir una serie de pasos:

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 23/79

. $alvar el conte+to del procesador! incluyendo el contador de programa y otrosregistros.

>. "ctualizar el 8;< 38loque de ;ontrol de <roceso4 que estaba en ejecución. 7ncluyecambiar el estado y otra información.

E. 6over el 8;< a la cola apropiada según el estado al que se actualizó.

/. $eleccionar otro proceso para su ejecución.1. "ctualizar el 8;< del proceso seleccionado.J. "ctualizar las estructuras de datos de la gestión de memoria.9. Cestaurar el conte+to del procesador según los registros salvados anteriormente del

proceso que fue seleccionado para la ejecución.

11. ilosUn proceso incluye dos caracter*sticas fundamentales:

& Unidad de propiedad de los recursos: al proceso se le puede asignar el control ola propiedad de recursos.

& Unidad de eFpedición: un proceso tiene un estado 3ejecución! listo! etc.4 y unaprioridad2 y adems es la unidad e+pedida y planificada por el sistema operativo.

<ara distinguir estas dos caracter*sticas! la unidad de e+pedición se conoce como#ilo!mientras que a la unidad de propiedad de los recursos se la suele llamar proceso o tarea.#icho de otra manera! el proceso posee los recursos y los hilos son los LmotoresM que loscomparten y los utilizan.

12. 0ulti#ilo

Iace referencia a la capacidad de un sistema operativo para mantener varios hilos deejecución dentro de un mismo proceso.)n un entorno multihilo! un proceso se define como la unidad de protección y unidad deasignación de recursos. " los procesos se les asocian los siguientes elementos:

& Un espacio de direcciones virtuales que contiene la imagen del proceso.& "cceso protegido a los procesadores! otros procesos! archivos y recursos.

)n un proceso puede haber uno o ms hilos! cada uno con lo siguiente:& )l estado de ejecución del hilo.& )l conte+to del procesador.& Una pila de ejecución.& "lmacenamiento esttico para las variables locales.& "cceso a la memoria y los recursos del proceso! compartidos por todos los otros

procesos! ya que todos los hilos residen en el mismo espacio de direcciones y tienenacceso a los mismos datos.

Gentajas:& $e tarda mucho menos en crear un nuevo hilo en un proceso e+istente que crear un

nuevo proceso.& $e tarda menos tiempo en terminar un hilo que un proceso.& $e tarda menos tiempo en cambiar entre dos hilos de un mismo proceso que entre

dos procesos.& -os hilos de un mismo proceso comparten memoria y archivos! por lo tanto pueden

comunicarse entre s* sin invocar al núcleo.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 24/79

$esventajas:

-a suspensión de un proceso implica la descarga del espacio de direcciones fuera de lamemoria principal. <uesto que todos los hilos de un proceso comparten el mismo espaciode direcciones! todos deben entrar en estado suspendido al mismo tiempo. #e manera

similar! la terminación de un proceso supone terminar con todos los hilos dentro de dichoproceso.

1). Estados de un #ilo

& Creación: normalmente! cuando se crea un nuevo proceso! tambi(n se crea un hilopara ese proceso. <osteriormente! un hilo puede crear otros hilos dentro del mismoproceso.

& @loueo: cuando un hilo necesita esperar por un suceso! se bloquea. "hora! elprocesador podr pasar a ejecutar otro hilo en estado listo.

& $esbloueo: cuando se produce el suceso por el que el hilo se desbloqueó! el hilopasa a la cola de listos.

& +erminación: cuando un hilo finaliza! se libera su conte+to y sus pilas.)n general! no tiene sentido asociar estados de suspensión a hilos porque esos estadospertenecen al concepto de proceso.

1,. Implementación de #ilos

)+isten dos grandes categor*as para la implementación de hilos: los hilos a nivel de usuario3U-T4 y los hilos a nivel de núcleo 3N-T4.

1,.1 ilos a nivel de usuario U?+

)n una aplicación U-T pura! todo el trabajo de gestión de hilos lo realiza la aplicación y elnúcleo no es consciente de la e+istencia de hilos.-a creación de nuevos hilos dentro de un proceso se lleva a cabo ejecutando la utilidad decreación de la biblioteca de hilos. )sta crea una estructura de datos para el nuevo hilo ycede el control a uno de los hilos del proceso que est en estado de listo. ;uando el controlpasa a la biblioteca! se salva el conte+to del hilo actual! que se restaura cuando el control

pasa de la biblioteca al hilo.Todas las operaciones anteriores! se llevan a cabo en el espacio de usuario y dentro de unmismo proceso. )l núcleo no tiene conocimiento de ellas! planifica al proceso como unaunidad.

Gentajas:& )l proceso no debe cambiar a modo núcleo para gestionar hilos. ;on ello se evita la

sobrecarga de dos cambios de modo 3de usuario a núcleo y de núcleo a usuario4.& -os U-T pueden ejecutarse en cualquier sistema operativo. -a biblioteca de hilos es

un conjunto de utilidades de aplicación compartidas por todas las aplicaciones.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 25/79

$esventajas:& ;uanto un U-T ejecuta una llamada al sistema no solo se bloquea ese hilo! sino

todos los hilos del proceso.& )n una estrategia U-T pura! una aplicación multihilo no puede aprovechar las

ventajas de multiprocesadores. )l núcleo asigna un proceso a un solo procesador a

la vez.

1,.2 ilos a nivel de n/cleo H?+

)n una aplicación N-T pura! todo el trabajo de gestión de hilos lo realiza el núcleo. )n elrea de la aplicación no hay código de gestión de hilos! únicamente una 7nterfaz de<rogramas de "plicación 3"<74 para las funciones de gestión de hilos en el núcleo.)l núcleo mantiene la información de conte+to del proceso como un todo y la de cada hilodentro del proceso. Tambi(n puede planificar simultneamente múltiples hilos del mismoproceso en múltiples procesadores. $i se bloquea uno de los hilos del proceso! el núcleo

puede planificar otro hilo del mismo proceso.-a principal desventaja de la solución N-T comparada con la U-T es que el paso delcontrol de un hilo a otro dentro de un mismo proceso necesita un cambio de modo a modonúcleo. %tra desventaja es que la programación depende de la plataforma.

1,.) 0iFto

)n un sistema combinado! la creación de hilos! as* como la mayor parte da la planificación ysincronización de los hilos de una aplicación se realizan por completo en el espacio de

usuarios. -os múltiples U-T de una sola aplicación se asocian con varios 3el mismo o menornúmero4 N-T.)n un m(todo combinado! los múltiples hilos pueden ejecutarse en paralelo en múltiplesprocesadores y las llamadas al sistema bloqueadoras no necesitan bloquear todo elproceso.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 26/79

14. 0ultiprocesamiento Simtrico

#entro de la clasificación de Flynn de sistemas informticos! la arquitectura $6< entra en eltipo 676# 3Flujo de instrucción múltipledatos múltiples4.)n un multiprocesador sim(trico! el núcleo puede ejecutar en cualquier procesador y!

normalmente! cada procesador se autoplanifica a partir de una cola de procesos o hiloslibres. ;on este enfoque! el sistema operativo es ms complejo ya que se deben usart(cnicas para resolver y sincronizar las solicitudes concurrentes de recursos.

14.1 Or!anización S0*

)n un $6< hay múltiples procesadores! cada uno de los cuales tiene su propia unidad decontrol! unidad aritm(tico@lógica y registros. ;ada procesador tiene acceso a una memoriaprincipal compartida y a los dispositivos de )$ a trav(s de algún tipo de mecanismo de

intercone+ión: un modo habitual es mediante un bus compartido.)n las mquinas modernas! los procesadores suelen tener al menos un nivel de memoriacache privado. )ste uso de la cache introduce algunas consideraciones nuevas al dise=o.#ebido a que cada cache local contiene una imagen de parte de la memoria principal! si semodifica una palabra de una de las caches! deber*a anularse la palabra de las otras caches.<ara permitirlo! se avisa al resto de los procesadores de que se ha realizado unamodificación.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 27/79

15. 0icron/cleo

Un micronúcleo es un peque=o núcleo del sistema operativo que proporciona las basespara ampliaciones modulares.-a filosof*a en que se basa el micronúcleo es que solo las funciones absolutamenteesenciales del sistema operativo deben permanecer en el núcleo. -as aplicaciones y losservicios menos esenciales se construyen sobre el micronúcleo y se ejecutan en modousuario.-os componentes del sistema operativo e+ternos al micronúcleo se implementan comoprocesos servidores2 estos interactúan uno con otro sobre una base común! normalmente atrav(s de mensajes distribuidos a trav(s del micronúcleo. #e este modo! el micronúcleofunciona como un distribuidor de mensajes.

Gentajas:& EFtensibilidad: la arquitectura del micronúcleo permite a=adir nuevos servicios al

conjunto de servicios ya e+istentes en algunas de las reas funcionales.& &leFibilidad: no solo permite a=adir nuevas caracter*sticas al $%! sino que se

pueden reducir las caracter*sticas actuales para dar lugar a una implementación mspeque=a y eficiente.

& *ortabilidad: la mayor*a del código espec*fico del procesador est en elmicronúcleo. #e este modo! los cambios necesarios para portar el sistema a unnuevo procesador son menores y tienden a estar ordenados en agrupacioneslógicas.

& %cupa menos lugar en la memoria f*sica.& -os mensajes se pueden hacer por red a otras computadoras. )ntonces el

microDernel facilita el procesamiento distribuido.& &iabilidad: la arquitectura brinda fiabilidad gracias a su reducido tama=o y todas las

dems caracter*sticas descritas.

$esventaja:$u principal desventaja es el rendimiento. ;onsume ms tiempo construir y enviar unmensaje! o aceptar y codificar la respuesta! a trav(s del micro núcleo que mediante unasimple llamada al sistema.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 28/79

16. Comunicaciones entre *rocesos

$e desarrolla a trav(s de:

& 0ensajes: de misma o diferente <;. $on el mecanismo bsico de comunicaciónentre procesos o hilo. 7ncluye una cabecera! y un cuerpo.

& 0emoria compartida: de una misma <;. )l paso de mensajes entre procesosindependientes supone copias de memoria a memoria y est limitado por lavelocidad de la misma! y no depende de la velocidad del procesador.

-os procesos necesitan comunicarse para:& Compartir información: el que la genera es el productor! el que la consume!

consumidor.& enerar servicios: los que solicitan servicios son clientes! los que los ofrecen!

servidores.;uando dos o ms procesos comparten recursos involuntariamente! interactúanimpl*citamente o de una manera no programada. )sto puede generar conflictos! que paraevitarlos! tiene que e+istir algún m(todo de sincronización.

)n situaciones en la que dos o ms procesos estn leyendo o escribiendo datoscompartidos y el resultado final depende de qui(n y cundo se ejecuta! se denominasituaciones o condiciones de competencia. )s decir! una situación que genera conflictocuando interactúan > o ms procesos que tienen que ver con los tiempos de ejecución delos procesos. <ara evitarlo! se necesita unaeFclusión mutua ! es decir! alguna forma deasegurarnos que si un proceso est utilizando un recurso compartido! los dems procesosno podrn hacer uso de (l. Iay situaciones en las que un proceso tiene que acceder amemoria o archivos compartidos que pueden generar competencia. -a parte del programaen la que se tiene acceso a la memoria compartida se denominare!ión cr-tica . <or lo que!resumiendo! la solución para las situaciones de competencia seria que solo proceso

pueda entrar en la región cr*tica 3e+clusión mutua4.<ara lograrla! se pueden proponer varias alternativas:

& In#abilitación de interrupciones: la solución ms simple es hacer que cadaproceso inhabilite todas las interrupciones inmediatamente despu(s de ingresar a suregión cr*tica y las vuelva a habilitar justo antes de salir de ella. ;on lasinterrupciones inhabilitadas! no puede haber interrupciones de reloj. )ste es unenfoque poco atractivo porque no es prudente conferir a los procesos de usuario lacapacidad de inhabilitar todas las interrupciones.

& Gariable de cerradura o de bloueo: una solución de software es utilizar una solavariable compartida que inicialmente es cero 3desbloqueado4. ;uando un procesoquiere entrar en su región cr*tica! primero prueba el bloqueo. $i este es 0! el proceso

lo establece a 3bloqueado4 y entra en la región critica. $i la variable es ! elproceso espera hasta que cambie a 0. -a desventaja aqu* es que se pueden generarinconsistencias en la lectura de los datos por interrupciones de reloj en tiemposinoportunos.

& Gariable +S?: esta solución requiere un poco de ayuda del hardware. 6uchascomputadoras! sobre todo las dise=adas pensando en múltiples procesadores!tienen una instrucción T$- C?! 8-%BU)% 3Test and $et -ocD4. )sta lee elcontenido de la palabra de memoriabloqueo! la coloca en el registro C? y luegoguarda un valor distinto a cero en la dirección de memoriabloqueo. $e garantiza quelas operaciones de leer la palabra y escribir en ella son indivisibles. -a ;<U queejecuta la instrucción T$- cierra el bus de memoria para impedir que otras ;<Ustengan acceso a la memoria antes que termine.

& "lternancia estricta: esta solución usa una variable de cerradura pero permite elacceso a > procesos en base a los valores de las variables! por lo que no hay

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 29/79

posibilidad de que entren los >. Un proceso entra en un ciclo corto en la espera queel otro que est en la región critica salga de la misma y cambie la variable decerradura para permitirle el acceso. "qu* se pueden generar inconsistencias porinterrupciones de reloj y2 adems! como un proceso es el que llama a otro! si elproceso 0 no entra en la región critica! el no entrara.

Todas estas alternativas son correctas! pero tienen el defecto de que requierenesperaactiva . )s decir! cuando un proceso quiere entrar en su región critica! verifica si tal ingresoest permitido. $i no lo est! el proceso entra en un ciclo corto para esperar hasta que loest(.%tra alternativa para lograr e+clusión mutua! es empleando modelossin espera activa: aqu* cuando a un proceso no se le permite entrar a la región cr*tica! en lugar de esperar yperder tiempo en la ;<U! se bloquea. ;uando se le habilita la entrada! se desbloquea. <aralograr esto se debe hacer uso de algunas primitivas de comunicación entre procesos! unasde las ms sencillas son el par sleep y wakeup:

& sleep: hace que el invocador se bloquee! hasta que otro proceso lo active&  'a9eup: desbloquea un proceso. Tiene un parmetro! el proceso a desbloquear

1B. 0odelo productor consumidor

)ste es un modelo que utiliza las dos primitivas nombradas anteriormente. #os procesoscomparten un búfer de tama=o fijo. Uno de ellos! el productor! coloca la información all* y elotro! el consumidor! la saca.-os problemas de este modelo surgen cuando el productor quiere colocar un nuevoelemento en el búfer pero este ya est lleno. -a solución es que el productor se desactive yse vuelva a activar cuando el consumidor haya sacado uno o ms elementos. "simismo! si

el consumidor quiere sacar un elemento del búfer y ve que esta vac*o! se desactiva hastaque el productor coloca algo all* y lo activa.$iendo c el número de elementos del búfer yn el número de elementos m+imo que sepuede guardar! el código de este modelo es:

;ódigo para el productor:

while(true) {  producir();si (c==n) sleep();  colocar();

  c=c+1;}

;ódigo para el consumidor:

while(true) {  si (c==0) sleep sacar(); si (c==n-1) wakeUp(prod)

 consumir();}

" pesar de que este modelo no posee espera activa! sigue teniendo el problema de lasinterrupciones de reloj en momentos inoportunos.

1. Sem;foros

%tro manera de implementar la comunicación entre procesos es utilizando semforos. ;abeaclarar que no es un m(todo de comunicación! estos son un tipo de variable a la que se le

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 30/79

aplican dos operaciones!down y up. -a primera! aplicada a un semforo determina si suvalor es mayor a 0. )n tal caso! decrementa el valor y simplemente continúa. $i el valor es0! el proceso se desactiva sin terminar la operacióndown por el momento. -a operaciónup!incrementa el valor del semforo indicado. $i uno o ms procesos estn inactivos en esperade un semforo! sin haber podido terminar una operacióndown previa! el sistema escoge

uno de ellos y le permite terminar dicha operación."mbas primitivas son funciones atómicas! es decir! no pueden ser interrumpidas! porqueson llamadas al $%. ;on esto! se garantiza que una vez iniciada la operación de semforo!ningún otro proceso podr tener acceso al semforo antes que la operación haya terminadoo se haya desbloqueado.Utilizando semforos al modelo productor@consumidor! se tiene:

& lleno DJ para contar el número de ranuras ocupadas.& vac-o (J para contar el número de ranuras desocupadas.& muteF 1J para asegurar que el productor y consumidor no tengan acceso al búfer

al mismo tiempo. -os semforos que solo pueden adoptar dos valores! se

denominan semforos binarios o mute+.;ódigo para el productor:

while(true) {  producir();  down(vacio);  down(mutex);  colocar();  up(mutex);  up(lleno);}

;ódigo para el consumidor:

while(true) {  down(lleno);  down(mutex);  sacar();  up(mutex);  up(vacio);  consumir();}

2D. 0onitores

%tra forma de evitar que dos procesos entren en la región critica es utilizando monitores.)ste es una colección de procedimientos! variables y estructuras de datos que se agrupanen un tipo especial de modulo o paquete. -os procesos pueden invocar a losprocedimientos de un monitor cuando lo deseen! pero no pueden acceder en forma directaa sus estructuras de datos internas desde procedimientos declarados fuera de dichomonitor. -os monitores tienen una propiedad importante que los hace útiles para lograr lae+clusión mutua: solo un proceso puede estar activo en un monitor a la vez.

21. +ransferencia de mensajes

%tra manera de lograr la comunicación entre procesos es a trav(s de mensajes. )stem(todo utiliza dos primitivas! send y receive( que son llamadas al sistema! noconstrucciones del lenguaje. )spec*ficamente! cada una se estructura:

& send=destinoJ mensaje> : env*a un mensaje a un destino dado.& receive=ori!enJ mensaje> : recibe un mensaje de un origen dado.

$i no hay mensajes disponibles! el receptor puede bloquearse hasta que llegue uno! o bien!regresar de inmediato con un código de error. Iay dos formas de llevar la administracióncon los mensajes:

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 31/79

& "dministración $istribuida: los mensajes se van almacenando en una tablallamada almac+n de mensajes. ;ada proceso tiene su propio almac(n! por lotanto! no se necesita e+clusión mutua.

& "dministración Centralizada: en lugar de tener cada uno un almac(n! losmensajes se guardan todos en una estructura de datos llamadabu!ón que losmaneja.

-os sistemas de transferencia de mensajes presentan muchos problemas y cuestiones dedise=o dif*ciles. ;abe la posibilidad de que en la red se pierdan los mensajes. <araprotegerse contra tal perdida! el emisor y el receptor pueden convenir en que tan prontocomo el receptor reciba un mensaje! devolver en mensaje especial deacuse. $i el emisorno recibe tal acuse dentro de cierto plazo! retransmitir el mensaje.%tro problema! es lo que sucede si el mensaje se recibe de forma correcta! pero el acuse sepierde. )l emisor retransmitir el mensaje y el emisor lo obtendr dos o ms veces. )steproblema se resuelve ane+andon/meros de sucesión consecutivos a cada mensajeoriginal. $i el receptor recibe un mensaje con el mismo número de sucesión que el mensaje

anterior! sabr que est repetido y puede ignorarlo.)l modelo productor consumidor con mensajes es de la siguiente manera:

;ódigo del productor:

int elem;mensae m;

while(true){  elem = producir();  receive(consumidor! m);  "ormar#mensae(m! elem);  send(consumidor! m);}

;ódigo del consumidor:

int elem i;mensae m;

"or(i=0; i$%; i++) send(productor! m);while(true){  receive(productor! m);  elem = extraer(m);  send(productor! m);  consumir(elem);}

21. Interbloueos o bloueos irreversibles

Un conjunto de procesos cae en un bloqueo irreversible si cada proceso del conjunto estesperando un suceso que solo otro proceso del conjunto puede causar. <uesto que todosellos estn esperando! ninguno causara jams ninguno de los eventos que podr*an

despertar a algún otro miembro del conjunto! y todos seguirn esperando de maneraindefinida. <ueden ocurrir cuando se ha otorgado a los procesos acceso e+clusivo arecursos.5eneralizando! un recurso puede ser un dispositivo de hardware 3una unidad de cinta! discor*gido! etc.4 o información 3un registro bloqueado de una base de datos4. %tra forma degeneralizar los recursos es en fsicos! un componente de hardware y en lógicos! estructurasfabricadas por el $%."dems! e+isten dos tipos de recursos según caracter*sticas de e+propiación:

& EFpropiables: es uno que se le puede quitar al proceso que lo tiene sin causarda=os. -a memoria es un ejemplo de este tipo.

& (o eFpropiables: no puede quitrsele a su actual due=o sin hacer que el cómputofalle. -a grabadora de ;#@C%6 es un ejemplo de este tipo.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 32/79

21.1 Condiciones de Coffman para el bloueo irreversible

$e demostró que deben cumplirse cuatro condiciones para que haya un bloqueo

irreversible:. EFclusión mutua: cada recurso est asignado a e+actamente un proceso! o est

disponible.>. 7etención % espera: los procesos tienen recursos previamente otorgados pueden

solicitar otros recursos.E. (o eFpropiación: los recursos ya otorgados no pueden arrebatarse al proceso que

los tiene2 (ste debe liberarlo de forma limpia y e+pl*cita./. Espera circular: debe haber una cadena circulas de dos o ms procesos! cada uno

de los cuales est esperando un recurso que est en manos del siguiente miembrode la cadena.

#eben e+istir estas cuatro condiciones para que ocurra un bloqueo irreversible. $i faltaalguna de ellas! no podr ocurrir.

21.2 Estrate!ias para manejar bloueos irreversibles

)n general! se usan cuatro estrategias:. $implemente ignorar el problema bajo la suposición de que la mayor*a de los

usuarios prefieren un bloqueo irreversible ocasional que una regla limite a todos losusuarios a tener un solo proceso. )ste es el modelo de Aindows y -inu+. )stotambi(n es llamado como "l!oritmo del "vestruz. -a ventaja de esta perspectivaes que al aplicar una t(cnica para evitarlos! significar*a no usar recursos que disponela <;! y eso no es eficiente.

>. #etección y superación. #ejar que se presenten los bloqueos! detectarlos y tomarmedidas.

E. )vitación dinmica mediante asignación cuidadosa de recursos./. <revención! anulando en forma estructural una de las cuatro condiciones necesarias

para que haya un bloqueo irreversible.

21.) *revención de bloueos irreversibles

)+isten dos formas de prevenirlos:& 0ediante la ne!ación de las condiciones: si el $% impide que se cumplan! ser

estructuralmente imposible que se produzcan los interbloqueos.K ,vitar la exclusión mutua- que los recursos no sean e+clusivos. <oco

probable en los sistemas operativos.K ,vitar la posesión espera: si se puede evitar que los procesos que tiene

recursos esperen cuando traten de adquirir ms recursos! se eliminar*a elinterbloqueos. <ara ello! se e+ige que todos los procesos soliciten todos susrecursos antes de comenzar a trabajar. 7neficiente! porque el proceso aveces no sabe todos los recursos que usara! o captura cierta cantidad derecursos y a lo mejor luego no los usa a todos

K ,vitar la no apropiación- e+propiarle un recurso a un proceso! muchas veceses muy poco prometedor. <or lo que atacar desde este punto de vista no esrecomendado.

K ,vitar la espera circular : una manera de evitar la espera circular! es cualquierproceso tenga derecho a tener tan solo un recurso en todo momento. %tra

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 33/79

forma es asignar a cada recurso un número! y la unica forma de que unproceso pueda solicitarlos es en orden num(rico.

& *redicción mediante la asi!nación cuidadosa de recursos: un proceso pide unrecurso y el $% se lo concede solo si verifica que no se va a producir uninterbloqueo! aunque el recurso est( disponible. <ara ello:

K egación de la activación de los procesos- si el $% predice que los recursosproducirn interbloqueos! no activa un nuevo proceso! lo deja en estado decreación.

K /erificación de estados seguros- algoritmo del banquero. )ste verifica siconceder una solicitud conduce a un estado inseguro o no. $i lo hace! no seautoriza la solicitud. $i no es as*! se concede lo que pidió.

21., $etección % recuperación de bloueos irreversibles& $etección: es posible construir un grafo de recursos cada cierto intervalo de tiempo

o eligiendo otro momento! si contiene uno o ms ciclos! quiere decir que hay un

interbloqueo. )n los sistemas reales se necesita de un algoritmo formal paradetectar dichos bloqueos.

& 7ecuperación: e+isten > formas.K ,liminación de procesos: es la forma ms eficaz. $e elimina uno o ms

procesos. -o mejor es eliminar un proceso que pueda volver a ejecutarsedesde el principio sin efectos perjudiciales. Tambi(n es factible eliminar alque hace menos tiempo que est en ejecución o al que tiene una grancantidad de recursos.

K  Apropiación de recursos- arrebatarle de manera temporal un recurso a suactual poseedor y drselo a otro. -a capacidad para arrebatar un recurso!dejar que otro proceso lo use y devolverlo sin que el proceso se percate!depende de la naturaleza del recurso. #epende si es cr*tico o no. $i escr*tico! es un recurso solicitado por muchos procesos.

K #evisión- es posible hacer que los procesos pasen porpuntos deverificación en forma periódica. )n tal punto! el estado del proceso se grabaen un archivo que contendr la imagen como asi tambi(n el estado de losrecursos del proceso. ;uando se detecta un bloqueo irreversible! el procesoque tiene un recurso requerido se revierte hasta un momento anterior a laadquisición del mismo.

22. Inanición

)ste es un problema *ntimamente ligado con los bloqueos irreversibles. )n un sistemadinmico! se necesita alguna pol*tica para decidir qui(n recibe qu( recurso y cundo. )stapol*tica! aunque al parecer es razonable! puede hacer que algunos procesos nunca seanatendidos! aunque no hayan ca*do en un bloqueo irreversible. <or ejemplo! un proceso queno se atiende porque siempre llega uno con ms prioridad.

2). Calendarización

)s muy importante en un sistema! decidir cul proceso se ejecutara a continuación. -a parte

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 34/79

del $% que toma la decisión se denominacalendarizador! y el algoritmo que usa!al!oritmo de calendarización."dems de escoger el proceso que ms conviene ejecutar! el calendarizador debepreocuparse por aprovechar con eficiencia la ;<U! porque la conmutación de procesos escostosa.

2).1 Cuando calendarizar

Iay diversas situaciones en las que es necesario calendarizar.& ;uando se crea un proceso! pues hay que decidir si se ejecutara el proceso padre o

el hijo.& ;uando un proceso termina! pues se debe tomar una decisión de calendarización. $i

ningún proceso est listo! lo normal es que se ejecute un proceso inactivosuministrado por el sistema.

& ;uando un proceso se bloquea por )$ tambi(n hay que tomar una decisión de

calendarización.& $i algún reloj de hardware genera interrupciones cada una cierta frecuencia! puede

tomarse una decisión de calendarización en cada interrupción o cada cierta cantidadde interrupciones.

2).2 +ipos de al!oritmos de calendarización

8sicamente! e+isten dos tipos de algoritmos dependiendo de cómo se manejan lasinterrupciones de reloj:

& (o eFpropiativo: escoge al proceso que se ejecutar! y luego simplemente le

permite ejecutarse hasta que se bloquee! o hasta que ceda la ;<U en formavoluntaria. )n este caso no se toman decisiones de calendarización durante lasinterrupciones de reloj. -uego de que la interrupción termina de procesarse! siemprese reanuda el proceso que se estaba ejecutando antes de ella.

& EFpropiativo: escoge un proceso y le permite ejecutarse durante un tiempoestablecido 3quantum). $i al t(rmino de este tiempo el proceso continua enejecución! se le suspende y el calendarizador escoge otro proceso para que seejecute 3si hay disponible4. )ste tipo requiere que haya una interrupción de reloj alt(rmino del intervalo de tiempo para que el calendarizador pueda recuperar el controlde la ;<U.

2).) Cate!or-as de al!oritmos de calendarización

-o que el calendarizador debe optimizar en un sistema! no es lo mismo para todos. <or lotanto! se diferencian tres entornos que vale la pena distinguir:

& *or lotes: suelen ser aceptables los algoritmos no e+propiativos! o los e+propiativoscon intervalos de tiempo largos para cada proceso. )ste enfoque reduce laconmutación de procesos y! por lo tanto! mejora el desempe=o.

& Interactivo: en un entorno con usuarios interactivos! la e+propiación esindispensable para evitar que un proceso acapare la ;<U y niegue otros servicios.

& +iempo real: en estos sistemas a veces no es necesaria la e+propiación! porque loprocesos saben que tal vez no se ejecuten durante mucho tiempo y! por lo general!realizan su trabajo y se bloquean rpido.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 35/79

2)., "l!oritmos de calendarización en sistemas por lotes

*rimero en lle!arJ primero en ser atendido =&C&S>

)ste algoritmo es no e+propiativo y es el ms sencillo de todos. "qu*! la ;<U se asigna a

los procesos en el orden que la solicitan. #e manera bsica! hay una sola cola de procesoslistos.;uando el primer trabajo entra al sistema! se le inicia de inmediato y se le permite ejecutartodo el tiempo que desee. " medida que llegan otros trabajos! se les coloca al final de lacola. ;uando se bloquea el proceso en ejecución! se ejecuta el primer proceso de la cola. $iun proceso bloqueado vuelve a estar listo! se le coloca al final de la cola como si fuera untrabajo reci(n llegado.-a gran ventaja de este algoritmo es que es muy fcil de entender y de programar.

+rabajo m;s corto primero =SK&>

"lgoritmo no e+propiativo. $u funcionamiento es similar al F;F$! pero la diferencia es quesi hay varios trabajos de la misma importancia en la cola de entrada! el calendarizadorescoge al trabajo ms corto primero.Oale la pena se=alar que esta estrategia de trabajo ms corto primero sólo es óptima sitodos los trabajos estn disponibles en forma simultnea.

+iempo restante m;s corto a continuación =S7+&>

)sta es una versión e+propiativa de la estrategia anterior. ;uando llega un trabajo nuevo! sutiempo total se comprara con el tiempo que resta para que el proceso actual termine deejecutarse. $i es menor! el proceso actual se suspende y se pone en marcha el trabajoreci(n llegado. -a ventaja de este esquema es que permite que trabajos cortos nuevosobtengan un buen servicio.

2).4 "l!oritmos de calendarización en sistemas interactivos

Calendarización por turno circular

)ste es uno de los m(todos ms antiguos! sencillos y equitativos muy utilizado. Tambi(n selo conoce como 7ound 7obin. " cada proceso se le asigna un intervalo de tiempo! llamadocuanto o uantum! durante el que se le permitir ejecutarse. ;laro que si el proceso sebloquea o termina antes de e+pirar el cuanto! la conmutación de la ;<U se efectúa en esemomento. -o único que necesita hacer el calendarizador es mantener una lista de procesosejecutables. ;uando un proceso consume su cuanto! se le coloca al final de la lista.Iay $% que usan dos listas: para los que gastaron su quantum! y otra para los que no lohicieron 3los que pasaron de )jecución a 8loqueados4. )sta última lista tiene mayorprioridad.)n este m(todo hay aspectos muy importantes referidos con el tiempo de ejecución: uncuanto demasiado corto causa demasiadas conmutaciones de procesos y reduce laeficiencia de la ;<U! pero uno demasiado largo puede reducir la rapidez de respuesta a

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 36/79

solicitudes interactivas cortas. "un cuando de alrededor de >0@10 ms suele ser un t(rminomedio razonable.

Calendarización por prioridades

-a idea bsica aqu* es sencilla: a cada proceso se le asigna una prioridad! y el proceso listoque tenga mayor prioridad es el que se ejecuta.)l $% reconoce la urgencia del proceso y le asigna una prioridad. " mayor numero! mayores la prioridad! o viceversa! depende del $%< <uede ser e+propiativo 3en ese caso! siaparece uno de mayor prioridad que uno que estaba! se cambia4! o no 3se respeta el tiempode ejecución del proceso4.-as razones para asignar la prioridad dependen de si son:

& 0rocesos de tiempo real- el comportamiento est relacionado con el tiempo y nodeben sufrir demoras porque afectan su normal funcionamiento.

& 0rocesos normales- interesa la tarea que se realice! sin importar el tiempo.

 

0/ltiples colas < 0?L

;olas de diferentes números de prioridad. Una de mayor! una de menor! y las otrasintermedias. )n cada nivel se tienen varios procesos. Un proceso de una lista no se puedepasar a otra. Iay que definir la cantidad de niveles! la prioridad de los niveles! y porque unproceso entra a una lista y no a otra! y que algoritmo se usa para cada cola. "dems! hayque definir un orden para cada cola. )ste orden! puede ser el F;F$ o el CC.

0?L&

)l que se usa en -inu+ y Aindows. $imilar al 6-B! pero los procesos pueden cambiar decola. "dems de todo lo del 6-B! hay que definir un mecanismo para que un proceso pasede una cola a la otra.

Calendarización !arantizada 

Una estrategia es hacer LpromesasM reales en cuanto al desempe=o y luego cumplirlas.<ara cumplir estar promesas! el sistema necesita llevar la cuenta de cuanto tiempo de ;<Uha recibido cada proceso desde su creación. -uego se calcula el tiempo de ;<U al quecada uno tiene derecho! que ser*a el tiempo de creación divididon procesos e+istentes.)ntonces se puede calcular el cociente entre el tiempo de ;<U de consumido entre eltiempo al que el proceso tiene derecho. )l algoritmo consiste entonces en ejecutar elproceso cuyo cociente es ms bajo.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 37/79

Unidad ,: "dministración de 0emoria 

-a parte del sistema operativo que administra la jerarqu*a de memorias se llamaadministrador de memoria. $u obligación es mantearse al tanto de que partes de lamemoria estn en uso y cules no! asignar memoria a los procesos cuando la necesitan y

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 38/79

liberarla cuando terminan! y administrar los intercambios entre la memoria principal y eldisco cuando la primera es demasiado peque=a para contener a todos los procesos.

1. 0onopro!ramación sin intercambio ni pa!inación

)ste es el esquema de administración de memoria ms sencillo. ;onsiste en ejecutar soloun programa a la vez! repartiendo la memoria entre ese programa y el $%. )+isten tresvariaciones de este caso:

& )l $% podr*a estar en la parte ms baja de la memoria C"6.& )l $% podr*a estar en la parte ms alta de la memoria C%6.& -os controladores de dispositivos podr*an estar en la parte ms alta de la memoria

C%6 y el resto del sistema en C"6 ms bajo.

2. 0ultipro!ramación con particiones fijas

-a forma ms fcil de lograr la multiprogramación es simplemente dividir a la memoria enn

particiones 3tal vez desiguales4.;uando llega un trabajo! se puede colocar en la cola de entrada de la partición ms

peque=a en la que cabe. <uesto que en este esquema las particiones son fijas! cualquierespacio de una partición no ocupada por un trabajo se desperdicia.-a desventaja de repartir los trabajos que llegan entre las distintas colas se hace evidentecuando la cola de una partición grande est vac*a y la de una partición peque=a est llena.<ara solucionar esto! se puede mantener una sola cola. )ntonces! cada vez que sedesocupe una partición! el trabajo ms cercano al frente de la cola y! que quepa en esapartición! se cargar en la partición vac*a y se ejecutar. %tra estrategia ser*a e+aminar todala cola de entrada cada vez que se desocupe una partición y escoger el trabajo ms grandeque quepa en ella.

). Intercambio de memoria 

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 39/79

;on los sistemas de tiempo compartido o las computadoras personales! a veces no haysuficiente memoria principal para contener todos los procesos que estn activos! as* losprocesos e+cedentes deben mantenerse en el disco y traerse a la memoria de formadinmica para que se ejecuten. <ueden usarse dos enfoques generales para lograr esto!dependiendo! en parte! del hardware disponible. -a ms sencilla! llamadaintercambio

=s'apin!>J consiste en traer a la memoria un proceso entero! ejecutarlo durante un tiempo yvolver a guardarlo en el disco. -a otra estrategia! llamadamemoria virtual! permite que losprogramas se ejecuten aunque sólo una parte de ellos est en memoria.

, Intercambio o s'apin!;onsiste en traer a la memoria un proceso entero! ejecutarlo durante un tiempo y volver aguardarlo en el disco."l traer y sacar varios procesos! se pueden generar fragmentación en la memoria! dejandopartes de ella sin utilizar por momentos. ;uando el intercambio genera múltiples huecos! esposible combinar tales huecos en uno solo ms grande! desplazando todos los procesos

hacia abajo hasta donde sea posible. )sta t(cnica se denominacompactación dememoria ! aunque no es muy común puesto que demanda mucho tiempo de ;<U.%tro problema que se presenta con este enfoque! es que si por ejemplo un proceso estacontiguo a otros dos 3por arriba y por abajo4 este no puede seguir creciendo. -o msconveniente ser*a asignar un poco de memoria adicional cada vez que se intercambie unproceso a la memoria o se cambie de lugar! a fin de reducir el gasto e+tra asociado con elcambio de lugar de un proceso que quiere crecer. )n la siguiente figura se presentan dossoluciones diferentes para solucionar el problema del crecimiento del proceso.

4. "dministración de memoria en mapa de bits

$i la memoria se asigna en forma dinmica! el sistema operativo debe administrarla de

alguna manera. ;on un mapa de bits! la memoria se divide en unidades de asignación! quepueden ser desde unas cuantas palabras hasta varios Dilobytes. " cada unidad de

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 40/79

asignación corresponde un bit del mapa de bits. )l bit es 0 si la unidad est desocupada y si est ocupada 3o viceversa4.Un mapa de bits es un mecanismo sencillo para llevar el control de las palabras de memoriaen una cantidad fija de (sta! porque su tama=o sólo depende del tama=o de la memoria ydel de la unidad de asignación. $u principaldesventaja es que una vez que se ha decidido

traer a la memoria un proceso dek  unidades! el administrador de memoria deber e+aminarel mapa de bits en busca de una serie dek bits consecutivos en 0.

5. "dministración de memoria con listas enlazadas

%tra forma de llevar el control de la memoria es mantener una lista enlazada de segmentosde memoria asignados y libres! donde un segmento es un proceso! o bien! un hueco entredos procesos. ;ada entrada de la lista especifica un hueco 3I4 o un proceso 3<4! ladirección donde comienza! la longitud y un apuntador a la siguiente entrada.

6. "l!oritmos de asi!nación de memoria 

6.1 "l!oritmo del primer ajuste

)ste es el m(todo ms simple. )l administrador de memoria e+plora la lista de segmentoshasta hallar un hueco lo bastante grande. -uego el hueco se divide en dos partes! una parael proceso y una para la memoria desocupada! salvo en un caso poco probable que elajuste sea e+acto. )ste algoritmo es rpido porque la búsqueda es lo ms corta posible.

6.2 "l!oritmo de si!uiente ajuste

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 41/79

)l funcionamiento es similar al del primer ajuste! solo que el algoritmo recuerda en quepunto de la lista se quedó la última vez que encontró un hueco apropiado. $imulacionesdemostraron que es ms lento que el anterior.

6.) "l!oritmo del mejor ajuste

)n este caso! se e+plora toda la lista y se escoge el hueco ms peque=o que alcance. )stealgoritmo desperdicia ms memoria que los otros dos porque tiende a saturar la memoriacon peque=os huecos que no sirven para nada.

6., "l!oritmo del peor ajuste

)ste algoritmo se asegura de escoger el hueco ms grande disponible! de modo que elhueco restante sea lo bastante grande como para ser útil. -as simulaciones han demostrado

que este modelo no es factible.

6.4 "l!oritmo de ajuste r;pido

)ste algoritmo mantiene listas individuales para algunos de los tama=os que se solicitan enforma ms común. <or ejemplo! podr*a mantenerse una tabla den elementos! donde elprimero es un apuntador a la cabeza de una lista de huecos /Db! el segundo un apuntador auna lista de huecos de PDb! etc.;on este algoritmo! la localización de un hueco del tama=o requerido es e+tremadamenterpida.

-os cuatro primeros algoritmos pueden acelerarse manteniendo listas distintas para losprocesos y los huecos. "s*! se dedica toda la energ*a a inspeccionar huecos! no procesos.)l precio! la mayor complejidad y lentitud de liberación de memoria! pues un segmentoliberado debe quitarse de la lista de procesos e insertarse en la lista de huecos.

B. 0emoria Girtual

-a idea bsica de este esquema es que el tama=o combinado del programa! sus datos y supila podr*an e+ceder la cantidad de memoria f*sica que se le puede asignar. )l sistemamantiene en la memoria principal las partes del programa que se estn usando en esemomento! y el resto en el disco.

B.1 *a!inación

-a mayor*a de los sistemas con memoria virtual utilizan una t(cnica llamada paginación. )ncualquier computadora e+iste un conjunto de direcciones de memoria que los programas

pueden producir.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 42/79

)stas direcciones generadas por el programa se denominandirecciones virtuales yconstituyen el espacio de direcciones virtual. )n computadoras sin memoria virtual! ladirección virtual se coloca en forma directa en el bus de memoria y esto hace que se lea oescriba la palabra f*sica de memoria que tiene esa dirección. ;uando se utiliza memoriavirtual! las direcciones virtuales no se env*an de manera directa al bus de memoria! sino a

una Unidad de "dministración de 0emoria 366U! Memor Managment 1nit 4 queestablece una correspondencia entre las direcciones virtuales y f*sicas de la memoria.)l espacio de direcciones virtuales se divide en unidades llamadasp;!inas. -as unidadescorrespondientes en la memoria f*sica se denominanmarcos de p;!ina. )stas dosestructuras siempre tienen el mismo tama=o.)n el caso de que un programa trate de usar una pgina que no tiene correspondencia! la66U se da cuenta de esto y hace que la ;<U salte al sistema operativo. )sta interrupciónde sistema se denomina fallo de p;!ina . )l sistema operativo escoge un marco de pginaque no est( usando mucho y vuelve a escribir su contenido en el disco! despu(s de lo cualtrae la pgina a la que se acaba de hacer referencia y la coloca en el marco reci(n

desocupado! modifica el mapa y reinicia la instrucción interrumpida.-a 66U interpreta por ejemplo una dirección virtual de J bits de la siguiente manera:

& -os primero / bits indican un número de pgina. )ste se utiliza como *ndice paraconsultar la tabla de pgina y as* obtener el número de marco de pginacorrespondiente.

& -os siguientes > bits indican un desplazamiento o offset! por lo que si se tienenmarcos de pgina de /N8! estos > bits se utilizan para direccionas los /0QJ bytesde cada marco.

B.2 +ablas de *;!ina 

)l propósito de la tabla de pginas es establecer una correspondencia entre las pginasvirtuales y los marcos de pgina. )n t(rminos matemticos! la tabla de pginas es unafunción! el número de pgina virtual es su argumento y el marco de pgina es el resultado.;uando la 66U consulta la tabla de pgina por una dirección virtual recibida! primero se fijasi el bit presenteausente. $i es cero! se genera una interrupción de sistema. $i el bit esuno! el número de marco de pgina hallado en la tabla de pginas se copia en los E bits deorden ms alto del registro de salida! junto con el desplazamiento de > bits que se copian

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 43/79

sin modificaciones de la dirección virtual recibida. Runtos! estos 1 bits constituyen ladirección f*sica que luego sale por el bus de memoria. Todo esto suponiendo direccionesvirtuales de J bits.;abe destacar que cada proceso debe tener su propia tabla de pgina! porque tiene supropio espacio de direcciones virtuales.

#ise=os para la implementación de tablas de pginas:& )l dise=o ms sencillo consiste en tener una sola tabla de pginas conformada por

un arreglo de registros rpidos de hardware! con una entrada por cada pgina virtuale indizada por el número de pgina virtual. ;uando se inicia un proceso! el $% cargalos registros con la tabla de pginas del proceso! tomada de una copia que seguarda en memoria principal. #urante la ejecución! no se necesitan ms referenciasa la memoria para la tabla de pginas ni para la transformación de direcciones. Unadesventaja es que puede ser costoso 3si la tabla de pginas es grande42 adems!tener que cargar toda la tabla en cada conmutación de conte+to perjudica eldesempe=o.

& )n el otro e+tremo! la tabla de pginas podr*a estar en su totalidad en la memoriaprincipal. <or lo tanto! lo único que se necesita del hardware es un solo registro queapunte al principio de la tabla de pginas. )ste dise=o permite cambiar el mapa dememoria con solo cargar un registro cuando se efectúa una conmutación deconte+to.

B.) +ablas de p;!inas multinivel)ste modelo es el utilizado por <entium. #ado que las tablas de pginas pueden ocuparmucha

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 44/79

6emoria! muchas computadoras utilizan una tabla de pginas multinivel. )n este modelo!no es necesario tener todas las tablas de pginas en memoria todo el tiempo. )n particular!las que no se necesitan no debern tenerse en ella.

B., Estructura de una entrada de tabla de p;!ina 

)l tama=o de cada entrada var*a de una computadora a otra! lo común es de E> bits. -osatributos son:& (/mero de marco de p;!ina: este es el campo ms importante.& @it presenteausente: si este bit es ! la entrada es vlida y puede usarse2 si es 0!

la pgina virtual a la que la entrada corresponde no est en memoria. Tener accesoa una entrada de tabla de pgina que tiene este bit en 0 causa un fallo de pgina.

& @its de protección: indican cuales tipos de accesos estn permitidos. 8it 0 sepermite leer y escribir y si no se permite leer.

& @it solicitada: se enciende cada vez que se hace referencia a una pgina! ya seapara leer o para escribir. )ste bit ayuda al sistema a elegir entre que pginaseleccionar para sacar cuando se presente un fallo de pgina.

& @it cac#e: este bit permite inhabilitar el uso de cach( con la pgina.

;abe se=alar que la dirección de disco que se usa para guardar la pgina cuando no esten la memoria no forma parte de la tabla de pginas.

@uffers de consulta para traducción < Cac#e +?@

<uesto que la velocidad de ejecución por lo general est limitada por la velocidad con que la;<U puede sacar instrucciones y datos de memoria! tener que hacer dos referencias a latabla de pgina por cada referencia a la memoria reduce mucho el desempe=o.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 45/79

-a solución que se halló consiste en equipar las computadoras con un peque=o dispositivode hardware que traduce direcciones virtuales a direcciones f*sicas! sin pasar por la tabla depginas. )ste dispositivo! llamadob/fer de consulta para traducción =+?@>J tambi(nconocido como memoria asociativa. <or lo general! esto est dentro de la 66U. ;adaentrada contiene información sobre una pgina! incluido el número de pgina virtual! un bit

que se establece cuando la pgina se modifica! el código de protección 3permisos4 y elmarco de pgina f*sico en el que esta la pgina.;uando se presenta una dirección virtual a la 66U para que la traduzca! el hardwareverifica primero si su número de pgina virtual est presente en el T-8 o no! comparndolocon todas las entradas paralelamente. $i se encuentra el número y el acceso no viola losbits de protección! el número de marco de pgina se toma directo del T-8! sin recurrir a latraba de pginas.;uando el número de pgina virtual no est en la T-8! la 66U detecta esto y realiza laconsulta ordinaria en la tabla de pginas. -uego desaloja una de las entradas del T-8 y lasustituye por la entrada de tabla de pginas que acaba de buscar.

. "l!oritmos para reemplazo de p;!inas

;uando se presenta un fallo de pgina! el $% tiene que escoger la pgina que desalojarde la memoria para hacer espacio para colocar la nueva que traer del disco. <ara elloe+isten diferentes tipos de algoritmos:

& "l!oritmo óptimo: cada pgina puede rotularse con el número de instrucciones quese ejecutarn antes de que se haga la primera referencia a esa pgina. )stealgoritmo simplemente dice que debe desalojarse la pgina con el rótulo msgrande. )l único problema con este m(todo es que no puede ponerse en prctica!debido a que en el momento en que se presenta un fallo de pgina! el $% no tieneforma de saber cundo se volver a hacer referencia a una pgina determinada.

& "l!oritmo &I&O: el primero en entrar! el primero en salir. )l $% mantiene una listade todas las pginas que estn actualmente en memoria! con las ms antiguas alprincipio de la lista y la ms nueva al final. "l presentarse un fallo de pgina! se

desaloja la pgina que est al principio de la lista y la nueva se ane+a al final.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 46/79

& "l!oritmo de se!unda oportunidad: este es una modificación sencilla del F7F%.Utiliza un bit #( si es 0! quiere decir que la pgina no solo es antigua sino quetampoco se usa mucho. $i el bit # es ! se apaga! la pgina se coloca el final de lalista de pginas y su tiempo de carga se actualiza como si acabara de entrar enmemoria. -uego continúa la búsqueda.

& "l!oritmo tipo reloj: mantiene todas las pginas en una lista circular parecida a unreloj! y una manecilla apunta a la pgina ms antigua. ;uando se presenta un fallode pgina! se e+amina la pgina a la que apunta la manecilla. $i su bit# es 0! dichase desaloja! la nueva se inserta en su lugar y la manecilla se adelanta. $i# es ! secambia a 0 y la manecilla adelanta una pgina tambi(n.

& "l!oritmo de p;!inas no usadas recientemente: cuando se presenta un fallo depgina! el $% e+amina todas las pginas y las divide en cuatro categor*as con basea los valores actuales de sus bits C 3pgina con referencia reciente o no4 y 63modificada o no4: clase 2- no solicitada! no modificada @ clase %- no solicitada!modificada @ clase 3- solicitada! no modificada @ clase 4- solicitada! modificada. )stealgoritmo! desaloja al azar una pgina de la clase de número ms bajo que no est(

vac*a.

.1 El al!oritmo de reemplazo de p;!inas de conjunto de trabajo

"ntes de e+plicar cómo funciona el algoritmo! es necesario introducir algunos conceptos.-as pginas de un proceso solo se cargan cuando se necesita! no por adelantado! esto seconoce como pa!inación por demanda. <or otro lado! los procesos e+hiben una localidadde referencia ! lo que significa que durante cualquier fase de su ejecución! el proceso solohace referencia a una fracción relativamente peque=a de sus pginas. )l conjunto que est(usando en un momento dado se conoce comoconjunto de trabajo.$i la memoria disponible es demasiado reducida para contener todo el conjunto de trabajo!el proceso causar muchos fallos de pgina y se ejecutar con lentitud. $e dice que unprograma que causa fallos de pginas cada pocas instrucciones est#iperpa!inado.6uchos sistemas paginados tratan de mantenerse al tanto de cul es el conjunto de trabajode cada proceso y se aseguran de tenerlo en la memoria antes de permitir ejecutar alproceso. )ste enfoque se denominamodelo de conjunto de trabajo! y est dise=ado parareducir de forma considerable la tasa de fallos de pgina.<ara implementar cualquier algoritmo de este tipo! debe escogerse por adelantado el valork ! es decir! las pginas que se usaron en lask referencias ms recientes a la memoria. )nvez de ese enfoque! se puede utilizar el tiempo de ejecución de un proceso. ;on estaapro+imación! el conjunto de trabajo de un proceso es el conjunto de pginas a las que hahecho referencia durante los últimos t segundos de tiempo virtual 3tiempo de ;<U

consumido por el proceso4.-a idea fundamental del algoritmo! es hallar una pgina que no est( en el conjunto detrabajo y desalojarla! funciona como sigue. $e e+amina el bit C de cada pgina una por una:

& $i es ! se escribe el tiempo virtual actual en el campotiempo de 5ltimo uso en latabla de pginas! para indicar que la pgina se estaba usando. )s evidente que lapgina pertenece al conjunto de trabajo y no es candidata para el desalojo.

& $i es 0! podr*a ser candidata para el desalojo. $e calcula su edad! es decir! el tiempovirtual actual menos su tiempo de ultimo uso y se compara con t . $i la edad esmayor a t ! quiere decir que la pgina ya no est en el conjunto de trabajo y sedesaloja dando lugar a otra pgina.

& $i se e+plora todas las pginas sin encontrar una candidata! significa que todas laspginas estn en el conjunto de trabajo. )n tal caso! si se encontró una o ms

pginas con CS0! se desaloja la de mayor edad.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 47/79

1D. "spectos de diseo de los sistemas con pa!inación

1D.1 *ol-ticas de asi!nación !lobal % local

-os al!oritmos locales equivalen a asignar una porción fija de la memoria a cada proceso!entonces si el proceso solicita una pgina nueva! deber ser reemplazada por una suspginas en memoria.-os al!oritmos !lobales asignan en forma dinmica los marcos de pginas entre losprocesos ejecutables. "s*! el número de marcos asignados a cada proceso var*a con eltiempo.)n general! los algoritmos globales funcionan mejor! sobre todo si el tama=o de conjunto detrabajo puede variar durante la vida de los procesos. $i se usa un algoritmo local y elconjunto de trabajo crece! habr hiperpaginación! aunque haya muchos marcos de pginadesocupados. $i el conjunto de trabajo se encoge! los algoritmos locales desperdicianmemoria. $i se usa un algoritmo global! el sistema debe decidir de manera continua cuantosmarcos de pgina asignar a cada proceso.

1D.2 +amao de p;!ina 

-a determinación del tama=o de pgina óptimo requiere equilibrar varios factores opuestos.$i la pgina es muy grande un segmento de te+to! datos o pila cualquiera no llenara unnúmero entero de pginas. )n promedio! la mitad de una pgina se desperdicia. #ichodesperdicio se denomina fragmentación interna. "dems! un tama=o de pgina grandehace que ms partes no utilizadas del programa est(n en memoria.<or otro lado! el uso de pginas peque=as implica que los programas van a necesitarmuchas y! por lo tanto! una tabla ms grande. Transferir pginas peque=as requiere casi el

mismo tiempo que transferir una grande.

11. Se!mentación

-a memoria virtual que se trató hasta ahora es unidimensional porque las direccionesvirtuales van desde cero hasta alguna dirección m+ima! y son consecutivas.;onsideremos que sucede si un programa tiene un número e+cepcionalmente grande devariables pero una cantidad normal de todo lo dems. )l trozo de espacio de direccionesasignado a la tabla de s*mbolos 3variables4 podr*a llenarse! pero podr*a haber espacio desobra en las dems tablas.

Una solución directa y e+tremadamente general consiste en proporcionar a la mquinavarios espacios de direcciones independientes por completos! llamadosse!mentos. ;adasegmento consta de una sucesión lineal de direcciones! desde cero hasta algún m+imo.-os segmentos pueden tener longitudes distintas! y por lo general las tienen. "dems! laslongitudes de segmento pueden variar durante la ejecución.<ara especificar una dirección en una memoria segmentada! el programa debe proporcionaruna dirección de dos partes: un número de segmento y una dirección dentro del segmento.;abe destacar que un segmento es una entidad lógica de las cual tiene conocimiento elprogramador.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 48/79

11.1 Implementación de la se!mentación pura 

-a implementación de la segmentación difiere de la paginación en un aspecto fundamental:las pginas son de tama=o fijo y los segmentos no. -a siguiente figura muestra un ejemplode la memoria f*sica con segmentación:

 

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 49/79

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 50/79

Unidad 4: Entrada % salida 

1. Interrupciones

Oirtualmente todos los computadores proporcionan un mecanismo mediante el cual otrosmódulos de 3)$! memoria4 pueden interrumpir la ejecución normal del procesador. -asinterrupciones aparecen! principalmente! como una v*a para mejorar la eficiencia delprocesamiento. <or ejemplo! la mayor*a de los dispositivos e+ternos son ms lentos que elprocesador.-as clases de interrupciones son las siguientes:

& $e pro!rama: generadas por alguna condición que se produce como resultado de laejecución de una instrucción.

& $e reloj: generadas por un reloj interno del procesador.

& $e ES: generadas por el controlador de )$.& *or fallo de #ard'are: generadas por fallos tales como un corte de energ*a o unerror de paridad en memoria.

1.1 ?as interrupciones % el ciclo de instrucción

;on las interrupciones! el procesador se puede dedicar a la ejecución de otras instruccionesmientras una operación de )$ est en proceso. ;uando el dispositivo e+terno est(disponible! es decir! cuando est( preparado para aceptar ms datos desde el procesador! elmódulo de )$ de dicho dispositivo enviar una se=al desolicitud de interrupción al

procesador. ,ste responde suspendiendo la operación del programa en curso ybifurcndose a un programa que da servicio al dispositivo de )$ en particular! conocidocomo rutina de tratamiento de la interrupción! reanudando la ejecución original despu(s dehaber atendido al dispositivo.)l procesador y el $% son los responsables de manejar las interrupciones.<ara que sean posibles las interrupciones! se a=ade un ciclo de interrupción al ciclo deinstrucción. )n el ciclo de interrupción! el procesador comprueba si ha ocurrido algunainterrupción. $i no hay interrupciones pendientes! el procesador continua con el ciclo delectura. $i hay una interrupción pendiente! el procesador suspende la ejecución delprograma en curso y ejecuta una rutina de tratamiento de la interrupción.

1.2 +ratamiento de la interrupción

Una interrupción desencadena una serie de sucesos! tanto en el hardware del procesadorcomo en el software. ;uando un dispositivo de )$ completa una operación de )$! seproduce en el hardware la siguiente secuencia de sucesos:

. )l dispositivo emite una se=al de interrupción al procesador.>. )l procesador finaliza la ejecución de la instrucción en curso antes de responder a la

interrupción.E. )l procesador env*a una se=al de reconocimiento al dispositivo que genero la

interrupción.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 51/79

/. )l procesador necesita ahora prepararse para trasferir el control a la rutina deinterrupción. <or lo tanto! es preciso salvar la información necesaria para abandonarla ejecución. -o requerido es la palabra de estado del programa 3<$A4 y laubicación de la pró+ima instrucción a ejecutar.

1. )l procesador carga ahora el contador de programa! con la ubicación de la entrada

del programa de tratamiento de la interrupción que responder a la interrupcióncorrespondiente.

Una vez cargado el contador de programa! el procesador continua con el pró+imo ciclo deinstrucción! dando como resultado el paso del control al programa de tratamiento deinterrupción. -a ejecución de este programa se traduce en las siguientes operaciones:

J. )n este punto! se necesita salvar el contenido de los registros del procesador! yaque estos pueden ser utilizados por la rutina de tratamiento de la interrupción!

9. -a rutina de tratamiento de interrupción puede ahora proceder a procesar lainterrupción.

P. ;uando se completa el tratamiento! se recuperan de la pila los valores de los

registros que se salvaron y se restauran sobre los registros del procesador.Q. -a operación final es restaurar los valores de la <$A y el contador de programa.

;omo resultado! la pró+ima instrucción a ser ejecutada ser el programainterrumpido previamente.

1.) Interrupciones m/ltiples

Iay dos enfoques para tratar interrupciones múltiples.& )l primero es inhabilitar las interrupciones mientras se est procesando una. Una

interrupción inhabilitada quiere decir que el procesador ignorar la se=al de

interrupción! quedar pendiente y ser comprobada por el procesador despu(s deque se habiliten las interrupciones. -a limitación de este enfoque es que no tiene encuenta las prioridades relativas o necesidades cr*ticas de tiempo.

& Un segundo enfoque es definir prioridades para las interrupciones y permitir que unainterrupción de una prioridad ms alta pueda interrumpir a la rutina de tratamiento deuna interrupción de prioridad ms baja.

1., 0ultipro!ramación

"ún con el uso de interrupciones! puede que un procesador no sea aprovechadoeficientemente. $i el tiempo necesario para completar una operación de )$ es mucho

mayor que el código del usuario entre llamadas de )$ 3situación habitual4! entonces el

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 52/79

procesador va a estar desocupado durante una gran parte del tiempo. Una posible solucióna este problema es permitir a varios programas de usuario estar activos al mismo tiempo.;uando el procesador tiene que tratar con una serie de programas! el orden en que estosse ejecutan depender de su prioridad relativa y de si estn esperando una )$.

2. $ispositivos de entrada % salida 

2.1 +ipos

-os distintos tipos de dispositivos de )$ salida se pueden clasificar según:& Su inteli!encia:

K %rientados al dispositivo:  cuando el módulo de )$ a trav(s de una interfazmaneja partes f*sicas del perif(rico. $e usaba en dispositivos viejos.

K %rientados al sistema:  cuando hay un software o LinteligenciaM en elperif(rico. $olo se le env*an órdenes y este las procesa

& Se!/n la coneFión:K <aralela: varios cables y cada uno lleva un bit. $on cables cortos.K $eriales:  un cable y los bits van en cola. $on ms fciles de estandarizar por

su simplicidad. )j: cable U$8& Se!/n su rapidez:

K -entos:  teclado por ejemplo! solo unos bits por segundo.K Cpidos:  un disco por ejemplo.

& Se!/n su formato de salida:K -egibles por el humano:  apropiados para la comunicación con los usuarios.

)j: terminal de video.K 'o legibles por el humano:  adecuado para comunicarse con dispositivos

electrónicos como discos! unidades de cinta! sensores! etc.

2.2 +ipos de !estión de ES

)+isten tres t(cnicas para realizar la )$:& ES pro!ramada: el procesador emite una orden de )$ de parte de un proceso a

un módulo de )$2 el proceso espera entonces que termine la operación antes deseguir. ;on esta t(cnica! el procesador es el responsable de e+traer los datos de lamemoria principal cuando va a realizar una salida o almacenar los datos en lamemoria principal cuando se realiza una entrada.

& ES diri!ida por interrupciones: el procesador emite una orden de )$ de parte de

un proceso! continua la ejecución de las instrucciones siguientes y el módulo de )$lo interrumpe cuando completa el trabajo.

& "cceso directo a memoria =$0">: un módulo de #6" controla el intercambio dedatos entre la memoria principal y un módulo de )$. )l procesador env*a unapetición de transferencia de un bloque de datos al módulo de #6" y se interrumpesólo cuando se ha transferido el bloque entero.

2.) Evolución de las funciones de ES

-as etapas de su evolución pueden resumirse como sigue:. )l procesador controla directamente los dispositivos perif(ricos.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 53/79

>. $e a=ade un controlador o módulo de )$. )l procesador utiliza )$ programada sininterrupciones. )n este punto! el procesador parece aislarse de los detallesespec*ficos de las interfaces con dispositivos e+ternos.

E. $e considera la misma configuración del punto anterior! pero empleandointerrupciones.

/. )l módulo de )$ recibe el control directo de la memoria a trav(s de #6". "horapuede mover un bloque de datos a la memoria o desde la misma sin que intervengael procesador! e+cepto al principio y al final de la transferencia.

1. $e mejora el módulo de )$ hasta llegar a ser un procesador separado con unconjunto de interrupciones especializadas de )$. )l ;<U ordena al procesador de)$ la ejecución de un programa de )$ en la memoria principal.

J. )l módulo de )$ posee su propia memoria local y es! de hecho! un computadorindependiente.

2.) "cceso directo a memoria 

-a unidad de #6" es capaz de imitar al procesador y! de hecho! es capaz de tomar elcontrol del sistema desde el procesador. 'ecesita hacerlo para transferir datos desde yhacia la memoria a trav(s del bus del sistema. 'ormalmente! el módulo de #6" debe usarel bus solamente cuando el procesador no lo necesite! o debe obligar al procesador a quesuspenda temporalmente su operación. )sta última t(cnica es ms común y se denominarobo de ciclos porque la unidad de #6" debe robar un ciclo del bus.

). "lmacenamiento intermedio de la ES

).1 0emoria intermedia sencilla 

;uando un proceso de usuario realiza una solicitud de )$! el sistema operativo le asigna ala operación un espacio en la parte del sistema de la memoria principal.<ara los dispositivos orientados a bloque! el esquema de almacenamiento intermedio

sencillo puede describirse como sigue. -as transferencias de entrada se realizan en elespacio del sistema. ;uando se ha completado la trasferencia! el proceso mueve el bloque

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 54/79

al espacio del usuario y solicita otro bloque inmediatamente. )sta t(cnica se llama lecturapor adelantado o entrada anticipada.)l proceso de usuario puede procesar un bloque de datos mientras se est leyendo elsiguiente. )sta t(cnica complica al $% ya que debe guardar constancia de las asignacionesde memorias intermedias del sistema a procesos de usuario.$e pueden aplicar consideraciones similares a la salida con dispositivos orientados abloques. ;uando se transmiten datos a un dispositivo! deben copiarse primero del espaciode usuario a un espacio del sistema! desde donde sern finalmente escritos.

).2 0emoria intermedia doble

$e pueden realizar una mejora sobre la memoria intermedia sencilla asignando a laoperación dos almacenes intermedios del sistema. #e esta forma! un proceso puedetransferir datos hacia 3o desde4 una memoria intermedia mientras que el $% vac*a 3orellena4 el otro. )sta mejora sufre el coste de un incremento de la complejidad.

).) 0emoria intermedia circular

$i preocupa el rendimiento de un proceso determinado! ser*a deseable que las operacionesde )$ fueran capaces de ir al ritmo del proceso. -a memoria intermedia doble puede serinapropiada si el proceso lleva a cabo rpidas rfagas de )$. )n este caso! el problemapuede mitigarse usando ms de dos memorias intermedias.;omo se emplean ms de dos! el conjunto de memorias intermedias se conoce comomemoria intermedia circular.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 55/79

,. *lanificación de discos

,.1 *ar;metros de rendimiento del disco

-os detalles reales de las operaciones de )$ con los discos dependen de los sistemas

informticos! el $% y la naturaleza del canal de )$ y el hardware controlador del disco.;uando la unidad de disco est operando! el disco gira a una velocidad constante. <era leero escribir! la cabeza debe ponerse en la pista deseada. )n un sistema de cabezas móviles!el tiempo que se tarda en ubicar la cabeza en la pista se llamatiempo de b/sueda . Unavez que se ha seleccionado la pista! el controlador del disco esperar hasta que el sectorapropiado se alinee con la cabeza en su rotación. )l tiempo que tarda el comienzo delsector en llegar hasta la cabeza se conoce comoretardo de !iro. -a suma del tiempo debúsqueda y el retardo de giro es el tiempo de acceso. Una vez que la cabeza est ubicada!se puede llevar a cabo la operación de lectura o escritura a medida que el sector se muevebajo la cabeza2 esta es la parte de transferencia real de datos de la operación."dems! e+isten algunos retrasos en las colas que normalmente tienen asociadas unaoperación de )$ a disco. ;uando un proceso emite una solicitud de )$! primero debeesperar en una cola a que el dispositivo est( disponible. <uede que haya una esperaadicional por el canal de )$ si el dispositivo lo comparte junto con otros.<or lo tanto! el tiempo total desde la petición hasta el final de la transferencia est dado porla sumatoria de:

. +iempo de cola de proceso>. +iempo de b/sueda E. +iempo de establecimiento: tiempo hasta que deja de vibrar por el movimiento/. +iempo de rotación2: promedio de ubicación de un sector del disco1. +iempo de transferencia del sector: depende de la velocidad del disco y la

densidad de bits.

J. +iempo de transferencia de interfaz: depende de la norma de la interfaz! si es$"T"! U$8! etc.

,.2 *ol-ticas o al!oritmos de planificación de discos

*rimero en entrarJ primero en salir

)ste es el esquema ms sencillo de planificación. -os elementos se procesan de la cola enun orden secuencial. Tiene la ventaja de ser justa porque las solicitudes son servidas en elorden en que llegaron.

*rioridad

;on un sistema basado en prioridades! el control de la planificación queda aislado delcontrol del software gestor del disco. )ste enfoque no persigue la optimización del uso deldisco! sino cumplir con otros objetivos del $%. -os trabajos por lotes que sean cortos y lostrabajos interactivos reciben frecuentemente una prioridad ms alta que trabajos mayoresque realicen largas operaciones.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 56/79

Mltimo en entrarJ primero en salir

$orprendentemente! esta pol*tica cuenta con virtudes. )n los sistemas de proceso detransacciones! conceder el dispositivo al último usuario acarrea pocos o nulos movimientosdel brazo al recorrer un archivo se secuencial. $in embargo! si el disco est ocupado con

una larga cola de espera! e+iste una clara posibilidad de inanición.Una vez que un trabajo haya lanzado una solicitud de )$ a la cola y haya abandonado lacabeza de la l*nea! no podr volver a ganar la cabeza de la l*nea a menos que se vayantodos los que est(n por delante.

*rimero el tiempo de servicio m;s corto

-a pol*tica $$TF 3shortest service time firts4 es elegir la solicitud de )$ de disco querequiera el menor movimiento posible del brazo del disco desde su posición actual. #e este

modo! siempre es elige procurando el m*nimo tiempo de búsqueda.SC"(

;on el $;"'! el brazo solo se puede mover en un sentido! resolviendo todas las solicitudespendientes en su ruta! hasta que alcance la última pista o hasta que no haya mssolicitudes en esa dirección.)sta pol*tica favorece a los trabajos con solicitudes de pistas cercanas a los cilindros msinteriores y e+teriores! as* como a los últimos en llegar.

C<SC"(

-a pol*tica del ;@$;"' 3$;"' circular4 restringe el rastreo a una sola dirección. "s*!cuando se haya visitado la última pista en un sentido! el brazo vuelve al e+tremo opuestodel disco y comienza a recorrerlo de nuevo! lo que reduce el retardo m+imo sufrido por lasnuevas solicitudes.

SC"( de ( pasos

;on $$TF! $;"' y ;@$;"'! es posible que el brazo no se mueva durante un periodo

considerable. <or ejemplo! si uno o varios procesos tienen mucho acceso a una pista!pueden monopolizar el dispositivo. <ara evitar esta monopolización del brazo! la cola desolicitudes del disco puede dividirse en segmentos! procesndose un segmento porcompleto cada vez.-a pol*tica de $;"' de ' pasos divide a la cola de solicitudes del disco en subcolas delongitud '. ;ada subcola se procesa mediante un $;"'.

&SC"(

6ismo concepto que la anterior! pero emplea dos subcolas. ;uando comienza un rastreo!todas las solicitudes estn en una de las colas y la otra permanece vac*a. #urante elrecorrido! todas las solicitudes nuevas se colocan en la cola que inicialmente estaba vac*a.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 57/79

#e este modo! el servicio de nuevas solicitudes se retrasar hasta que hayan procesado lasviejas.

4 7"I$

-a industria a acordado un esquema estndar para el dise=o de base de datos sobremúltiples discos! llamado C"7# 3#edundant Arra of 6ndependent Disks4. )l esquema C"7#consta de siete niveles! de cero a seis. )stos niveles no implican una relación jerrquicapero designan distintas arquitecturas de dise=o que comparten tres caracter*sticascomunes:

. C"7# es un conjunto de unidades de disco f*sico vistas por el $% como una solaunidad lógica.

>. -os datos estn distribuidos a trav(s de las unidades f*sicas del vector.E. -a capacidad del disco redundante se utiliza para almacenar información de paridad!

que garantiza la recuperabilidad de datos en caso de fallo del disco.

4.1 (ivel 7"I$ D

)ste nivel no es un miembro verdadero de la familia C"7#! porque no incluye redundanciapara mejorar el rendimiento.)n C"7# 0! el usuario y los datos del sistema estn distribuidos a lo largo de todo el vectorde discos. )sto tiene una notable ventaja sobre el uso de un solo disco: si hay pendientesdos solicitudes de )$ distintas en dos bloques de datos diferentes! entonces e+iste unabuena oportunidad para que los bloques solicitados est(n en discos diferentes. #e estemodo! se pueden realizar en paralelo las dos solicitudes reduciendo el tiempo en la cola de)$.

)l disco lógico de este esquema C"7# 0! est dividido en bandas 3strip42 estas bandaspueden ser bloques f*sicos! sectores o alguna otra unidad. Un conjunto de bandasconsecutivas lógicamente que se corresponden e+actamente con una banda de cadamiembro del vector 3disco f*sico4! se denomina franja 3stripe4.

4.2 (ivel 7"I$ 1

C"7# difiere de los niveles C"7# > hasta el J en el modo en que consigue la redundancia.)n C"7# la redundancia se consigue por el simple medio de duplicar todos los datos. -osdatos se dividen igual que en C"7# 0. <ero en este caso! cada banda lógica se corresponde

con dos discos f*sicos independientes! por lo que cada disco del vector tiene un discoespejo que contiene los mismos datos.)ste tipo de organización tiene varios aspectos positivos:

. Una solicitud de lectura le puede servir cualquiera de los dos discos que contienenlos datos solicitados.

>. Una solicitud de escritura requiere la actualización de las bandas correspondientes aambos discos! pero esto se puede hacer en paralelo.

E. -a recuperación de fallos es sencilla. ;uando una unidad falla! los datos estntodav*a accesibles de la segunda unidad.

-a principal desventaja de C"7# es el coste! requiere dos veces el espacio de disco deldisco lógico que soporta.)n este esquema! se puede conseguir altas tasas de solicitudes de )$ si el grueso de las

solicitudes es de lectura.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 58/79

4.) (ivel 7"I$ 2

-os niveles C"7# > y E utilizan una t(cnica de acceso paralelo. )n un vector de accesoparalelo! todos los discos participan en la ejecución de cada solicitud de )$. 'ormalmente!el eje de las unidades individuales est sincronizado! por lo que cada cabeza de disco est

en la misma posición de cada disco en un instante dado.)n el caso de C"7# > y E e+iste tambi(n la división de datos. )n este caso! las bandas sonmuy peque=as! a menudo tan peque=as como un único byte o palabra. )n C"7# >! secalcula un código de corrección de errores a lo largo de los bits correspondientes sobrecada disco de datos! y los bits del código se almacenan en las respectivas posiciones de bitsobre los discos de paridad múltiple. 'ormalmente! se utiliza código Iamming! que escapaz de corregir errores de un solo bit y detectar errores de dos bit."unque C"7# > requiere menos discos que C"7# ! el coste es algo alto. )l número dediscos redundantes es proporcional al logaritmo del número de discos de datos.C"7# > solamente es una buena elección en un entorno efectivo en el que se produjeranmuchos errores de disco. #ada la alta fiabilidad de los discos y de las unidades de disco!C"7# > est superado y ya no se implementa.

4., (ivel 7"I$ )

$e organiza de una forma similar a C"7# >. -a diferencia es que C"7# E requiere solo undisco redundante! no importa el tama=o del vector de discos. C"7# E emplea accesoparalelo! con los datos distribuidos en peque=as bandas. )n lugar de un código decorrección de errores! se calcula un solo bit de paridad para el conjunto de bits en la mismaposición de todos los discos de datos.Teniendo en cuenta que los datos estn divididos en peque=as bandas! puede alcanzar unataza de transferencia de datos muy alta. <or otro lado! solo se puede ejecutar en cadainstante una sola solicitud de )$.

4., (ivel 7"I$ ,

-os niveles C"7# / al J usan una t(cnica de acceso independiente. ;ada disco opera demanera independiente! por lo que se pueden satisfacer en paralelo solicitudes de )$individuales. $on ms apropiados para aplicaciones que requieran tasas altas de solicitudesde )$! y son relativamente menos apropiados para aplicaciones que requieran tasas altade transferencia de datos.)n el caso de C"7# / al J! las bandas son relativamente grandes. ;on C"7# /! se calculauna banda de la paridad bit a bit a lo largo de las bandas correspondientes de cada disco de

datos! y los bits de paridad se almacenan en la banda correspondiente del disco de paridad.

4.4 (ivel 7"I$ 4

C"7# 1 est organizado de forma similar a C"7# /. -a diferencia es que distribuye lasbandas de paridad a trav(s de todos los discos. <ara un vector den discos! la banda deparidad est sobre un disco distinto para lasn primeras bandas y! despu(s! se repite elpatrón.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 59/79

4.5 (ivel 7"I$ 5

)n este esquema se realizan dos clculos distintos de paridad! y se almacenan en bloquesindependientes de diferentes discos. "s*! un vector C"7# J cuyos datos de usuariorequieran ' discos est formado por ' > discos.

-a ventaja de C"7# J es que ofrece disponibilidad de datos e+tremadamente alta. #eber*anfallar tres discos para hacer que los datos no estuvieran disponibles. <or otro lado! sufreuna importante penalización de escritura! porque cada escritura afecta a dos bloques deparidad.

5. Cac# de disco

)l t(rmino memoria cache se aplica normalmente a una memoria ms peque=a y msrpida que la memoria principal y que se sitúa entre esta y el procesador.)l mismo concepto puede aplicarse a la memoria de disco. ;oncretamente! un cache de

disco es una memoria intermedia situada en la memoria principal para sectores de disco. -acache contiene una copia de algunos sectores del disco. ;uando se hace una solicitud de)$ para un sector espec*fico! se comprueba si el sector est en la cache de disco.

5.1 Consideraciones sobre el diseo

)n primer lugar! cuando una solicitud de )$ se satisface desde la cache de disco! los datosde la misma deben entregarse al proceso que los solicitó. -a entrega puede hacersetransfiriendo el bloque de datos de la memoria principal! desde la cache del disco a lamemoria asignada al proceso de usuario! o simplemente usando la capacidad de lamemoria compartida y pasando un puntero a la entrada apropiada de la cache del disco.

Una segunda cuestión de dise=o tiene que ver con la estrategia de reemplazo. ;uando setrae un nuevo sector a la cache de disco! debe ser reemplazado por uno de los bloquese+istentes. )l algoritmo ms utilizado es -CU 37east #ecentl 1sed( Usado menosrecientemente4! en el que se reemplaza el bloque que ha permanecido sin referencias en lacache durante ms tiempo.%tra posibilidad es el algoritmo de Usado 6enos Frecuentemente 3-FU!7east &recuentl

1sed 4! donde se sustituye el bloque de la cach( que ha sufrido un menor número dereferencias. -FU podr*a implementarse incorporando un contador a cada bloque. <uedepresentarse el problema de que muchas veces el contador no es representativo debido amuchas llamadas en un periodo corto solamente.)ste problema! se soluciona con un reemplazo en función de la frecuencia. -os bloques

estn organizados lógicamente en una pila! como en el algoritmo -CU. Una partedeterminada de la cima de la pila se reserva como una sección nueva. ;uando se acierta enla cache! el bloque referenciado se traslada a la cima de pila. $i el bloque ya estaba en lasección nueva! su contador de referencias no se incrementar2 en otro caso! se incrementaen .Una mejora adicional es dividir la pila en tres secciones: nueva! media y antigua. -ascuentas de referencia no se incrementan en los bloques de la sección nueva. $in embargo!sólo los bloques de la sección antigua sern candidatos para el reemplazo.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 60/79

 

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 61/79

Unidad 5: Se!uridad

1. "menazas a la se!uridad

-a seguridad de computadoras y redes aborda los siguientes cuatro requisitos:. Secreto: e+ige que la información de un sistema de computadoras sea accesible

para lectura solamente por partes autorizadas.>. Inte!ridad: e+ige que los elementos de un sistema de computadoras puedan ser

modificadas solo por partes autorizadas.E. $isponibilidad: e+ige que los elementos de un sistema de computadoras est(n

disponibles para las partes autorizadas./. "utenticidad: requiere que un sistema de computadores sea capaz de verificar la

identidad del usuario.1. Irrefutabilidad: quien genere o modifique información luego no puede negar su

acción.

1.1 +ipos de amenazas

-os tipos de amenazas a la seguridad de un sistema de computadoras o una red secaracterizan mejor contemplando la función del sistema como un suministrador deinformación. )+isten cuatro categor*as generales de amenazas:

& Interrupción: se destruye un elemento del sistema o se hace inasequible o inútil.

)ste es un ataque a la disponibilidad .& Interceptación: una parte no autorizada consigue acceder a un elemento. )steataque al secreto.

& 0odificación: una parte no autorizada no solo consigue acceder! sino que falsificaun elemento. )ste es un ataque a la integridad .

& Invención: una parte no autorizada inserta objetos falsos en el sistema. )ste es unataque a la autenticidad .

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 62/79

2. Elementos de un sistema de computadoras % sus amenzas

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 63/79

). *rotección

-a introducción a la multiprogramación originó la posibilidad de compartir recursos entre losusuarios. -a necesidad de compartir recursos introdujo la necesidad de protección. Unsistema operativo puede ofrecer protección de las siguientes maneras:

& (in!una protección: apropiada cuando se ejecutan procedimientos delicados endistintos instantes.

& "islamiento: este enfoque implica que cada proceso opera separadamente de losdems.

& Compartir todo o nada: el propietario de un objeto lo declara como público oprivado.

& Compartir por limitación de acceso: el $% comprueba la licencia de cada accesode un usuario espec*fico a un objeto.

& Compartir por capacidades din;mica: incorpora la creación dinmica de derechosde compartimiento para los objetos.

& Uso limitado de un objeto: esta forma de protección limita no solo el acceso a unobjeto! sino tambi(n el uso a que se puede dedicar dicho objeto. <or ejemplo! sepuede dejar ver un documento delicado a un usuario pero no imprimirlo.

).1 *rotección de la memoria 

-a separación del espacio de memoria de los diversos procesos se lleva a cabo fcilmentecon un esquema de memoria virtual. -a segmentación! paginación o la combinación deambas proporcionan un medio eficaz de gestión de memoria principal. $i se persigue unaislamiento total! el $% simplemente debe asegurar que cada segmento o pgina esaccesible solo para el proceso al que se est asignada. )sto se lleva a cabo fcilmentee+igiendo que no haya entradas duplicadas en las tablas de pginas o segmentos.

$i se va a permitir el compartimiento! el mismo segmento o pgina puede ser referenciadoen ms de una tabla. )ste tipo de compartimiento se consigue mejor en un sistema quesoporta segmentación o combinación de segmentación y paginación. )n tal caso! laestructura del segmento es visible a la aplicación y la aplicación puede declarar segmentosindividuales como compartibles o no compartibles.

).2 Control de acceso orientado al usuario

-a t(cnica ms habitual de control de acceso al usuario en un sistema de tiempo compartidoo en un servidor es la cone+ión del usuario! que requiere un identificador de usuario 37#4 yuna contrase=a. )ste esquema 7#contrase=a es un m(todo notablemente poco fiable decontrol de acceso al usuario. -os usuarios pueden olvidar sus contrase=as y puedenrevelarlas accidental o deliberadamente.)l control de acceso a usuario en entornos distribuidos puede ser centralizado odescentralizado. ;on un enfoque centralizado! la red proporciona un servicio de cone+iónpara determinar a quien se le permite usar la red y a qu( se le permite conectarse.)l control de acceso descentralizado considera la red como un enlace transparente decomunicación y el procedimiento usual de cone+ión lo lleva a cabo un servidor de destino.)n muchas redes! pueden emplearse dos niveles de control de acceso. -os servidoresindividuales pueden estar provistos de un servicio de cone+ión que proteja las aplicacionesy los recursos espec*ficos del servidor. "dems! la red en su conjunto puede ofrecer unaprotección para restringir el acceso a la red a los usuarios no autorizados.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 64/79

).) Control de acceso orientado a los datos

#espu(s de una cone+ión con (+ito! al usuario le habr concedido el acceso a uno o msservidores y aplicaciones. "sociado con cada usuario! puede haber un perfil de usuario queespecifique las operaciones y los accesos a archivos permisibles. 6ientras el $% puede

otorgar a un usuario permiso para acceder a un archivo o utilizar una aplicación! el sistemagestor de base de datos debe tomar decisiones sobre cada intento de acceso individual.Un modelo general de control de acceso ejercido por un sistema gestor de archivos o basesde datos es el de una matriz de acceso. -os elementos bsicos del modelo son lossiguientes:

& Sujeto: entidad capaz de acceder a un objeto. ;ualquier usuario o aplicaciónconsigue acceder en realidad a un objeto por medio de un proceso que representa alusuario o aplicación.

& Objeto: cualquier cosa cuyo acceso deba controlarse.& $erec#o de acceso: la manera en que un sujeto accede a un objeto.

Una dimensión de la matriz consta de los sujetos identificados que pueden intentar accedera los datos. -a otra dimensión enumera a los objetos a los que se puede acceder.

-a matriz puede descomponerse en columnas para obtenerlistas de control de acceso.;on la descomposición por filas se obtienenetiuetas de capacidad de acceso. )staespecifica los objetos y las operaciones autorizadas para un usuario. ;ada usuario tiene unnúmero de etiquetas y puede estar autorizado o no para prestarlas o concederlas a otrosusuarios.'ormalmente! el control de acceso orientado a los datos es descentralizado! es decir!controlado mediante sistemas de gestores de base de datos radicados en los servidores. $ihay un servidor de base de datos en una red! el control de acceso a los datos se convierteen una función de la red.

,. IntrusosUna de las dos amenazas ms conocidas a la seguridad 3la otra es la de los virus4 es elintruso! conocido en general como pirata informtico! hacDer o cracDer. )+isten tres tipos deintrusos:

& Suplantador: un individuo que no est autorizado a usar el computador y quepenetra en un sistema de control de acceso para e+plotar una legitima entrada deusuario.

& "busador: un usuario leg*timo que accede a datos! programas o recursos a los queno estn autorizado! o que est autorizado pero hace un mal uso de sus privilegios.

& Usuario clandestino: un individuo que est a cargo del control de la supervisión delsistema y utiliza ese control para evadir la auditoria y el control de acceso o parasuprimir la recopilación de datos.

,.1 +cnicas de intrusión

)l objetivo de los intrusos es obtener acceso a un sistema o aumentar el conjunto deprivilegios accesibles en un sistema. )n general! esto requiere que el intruso obtengainformación que deber*a estar protegida. )n la mayor*a de los casos! esta información esten forma de contrase=a de usuario.'ormalmente! un sistema debe mantener un archivo que asocia una contrase=a de cadausuario autorizado. )l archivo de contrase=as puede protegerse de dos maneras:

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 65/79

& Cifrado unidimensional: el sistema almacena contrase=as de los usuarios deforma cifrada solamente. ;uando un usuario presenta una contrase=a! el sistemacifra contrase=a y la compara con el valor almacenado.

& Control de acceso: el acceso a los archivos de contrase=as est limitado a una omuy pocas cuentas.

,.2 *rotección de contraseas

-a contrase=a sirve para autentificas el 7# del individuo que se conecta al sistema. " su vez!el 7# introduce una seguridad en los siguientes sentidos:

& )l 7# determina si el usuario est autorizado para obtener acceso al sistema.& )l 7# determina los privilegios que corresponden al usuario.

Esuema U(IN para protección de contraseas

;ada usuario elige una contrase=a de hasta P caracteres. ,ste se convierte a un valor de1J bits 3empleando "$;77 de 9 bits4 que sirve como entrada clave a una función de cifrado.-a rutina de cifrado! llamada crpt84)! est basada en el algoritmo )stndar de ;ifrado de#atos. )l algoritmo #)$ se modifica mediante un valor LsemillaM de > bits. )ste algoritmo#)$ modificado se ejecuta con una entrada de datos que consiste en un bloque de cerosde J/ bits. -a salida del algoritmo sirve como entrada para un segundo cifrado. )steproceso se repite por un total de >1 cifrados. -a salida resultante de J/ bits se traduceentonces a una secuencia de caracteres. )n el archivo de contrase=as se guarda lacontrase=a cifrada! junto con una copia sin cifrar de la semilla para el 7# de usuariocorrespondiente. -a semilla sirve para tres fines:

& 7mpide que las contrase=as duplicadas sean visibles en el archivo de contrase=as.

& "umenta en forma efectiva la longitud de las contrase=as.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 66/79

,.) $etección de intrusos

-a detección de intrusos se basa en el supuesto de que el comportamiento del intruso sediferencia del comportamiento de un usuario leg*timo en formas que puede certificarse.-as t(cnicas para la detección de intrusiones son las siguientes:

& $etección de anomal-as estad-sticas: este m(todo supone una recolección dedatos del comportamiento de los usuarios leg*timos durante un periodo de tiempo.#espu(s se aplican pruebas estadisticas al comportamiento observado paradeterminar! con un alto grado de confianza! si los comportamientos de los usuariosson leg*timos.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 67/79

& $etección basada en re!las: este m(todo supone un intento de definir un conjuntode reglas que pueden emplearse para decidir si un comportamiento dado es el de unintruso.

K #etección de anomal*as:  se construyen reglas para detectar desviacionescon respecto a pautas de uso anteriores.

K 7dentificación de penetraciones:  un m(todo de un sistema e+perto quepersigue comportamientos sospechosos.

Una herramienta fundamental para la detección de intrusiones se un registro de auditoria.8sicamente se utilizan dos planes para realizarlos:

& 7e!istros de auditoria nativos: casi todos los $% multiusuarios ya incorporan unsoftware de contabilidad que reúne información sobre la actividad de los usuarios.

& 7e!istros de auditor-as espec-ficos para la detección: se puede implantar unservicio de recopilación que genere registros de auditor*as que contenga soloaquella información que sea necesaria para el sistema de detección de intrusiones.

4 Soft'are mali!no

Buizs! los tipos de ataque ms sofisticados a los sistemas informticos son lospresentados por los programas que se aprovechan de los puntos vulnerables de losmismos.

4.1 *ro!ramas mali!nos

$e puede distinguir entre las amenazas de software que no se reproducen y las que lo

hacen. -as primeras son fragmentos de programas que se activan cuando se invoca elprograma anfitrión para realizar una función determinada. -as segundas consisten en unfragmento de programa 3virus4 o un programa independiente 3gusanos y bacterias4 que!cuando se ejecutan! pueden hacer una o ms copias de s* mismos que se activarn! mstarde! en el mismo sistema o en algún otro.

+rampillas

Una trampilla es un punto de entrada secreto a un programa que permite a alguien que loconozca conseguir el acceso sin pasar por los procedimientos usuales de seguridad deacceso. -as trampillas las han usado los programadores de una forma leg*tima durantemuchos a=os para depurar y probar los programas.

-a trampilla es un código que reconoce alguna secuencia de entrada especial o que seactiva al ser ejecutado por cierto 7# de usuario o mediante una secuencia improbable desucesos.$e convierten en una amenaza cuando las emplean programadores desaprensivos paraconseguir acceso no autorizado.

@ombas ló!icas

Uno de los tipos de amenaza ms antiguos! anterior a los virus y gusanos. -a bomba lógicaes un código incrustado en algún programa leg*timo que Le+plotaM cuando se cumplenciertas condiciones.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 68/79

Caballos de +ro%a 

Un caballo de Troya es un programa o procedimiento útil o aparentemente útil que contieneun código oculto que! cuando se invoca! lleva a cabo alguna función da=ina o no deseada.-os programas con caballos de Troya se pueden usar para efectuar funcionesindirectamente que un usuario no autorizado no podr*a efectuar directamente. %tra intenciónhabitual es la destrucción de datos.

Girus

Un virus es un programa que puede LinfectarM a otros programas! alterndolos2 la alteraciónincluye una copia del programa de virus! que puede entonces seguir infectando a otrosprogramas.

usanos

-os programas gusanos de la red empleaban las cone+iones de la red para e+tenderse deun sistema a otro. Una vez activos en un sistema! un gusano de red puede comportarsecomo un virus o bien plantar caballos de Troya o realizar cualquier número de accionestrastornadoras o destructoras.<ara reproducirse un gusano utiliza algún tipo de veh*culo de la red. ;omo por ejemplo!correo electrónico! capacidad de ejecución remota y capacidad de cone+ión remota.Un gusano muestra las mismas caracter*sticas o fases que un virus.

ombies

Un zombie es un programa que secretamente toma posesión de otro computador conectadoa internet y le usa para lanzar ataques que hacen dif*cil detectar a su creador. -os zombiesse utilizan en ataques de denegación de servicio! normalmente contras sitios web. )lzombie se instala en cientos de computadores pertenecientes a terceras partes nosospechosas y! entonces! suele sobrecargar al sitio web objetivo lanzando una e+cesivacarga de trfico de red.

4.2 ?a naturaleza de los virus

Un virus puede hacer cualquier cosa que hagan otros programas. -a única diferencia es quese acopla a otro programa y se ejecuta de forma oculta cada vez que se ejecuta elprograma anfitrión.#urante su vida! un virus t*pico pasa por las siguientes cuatro etapas:

. &ase latente: el virus est inactivo. $e activar luego por algún suceso. 'o todos losvirus pasan por esta fase.

>. &ase de propa!ación: el virus hace copias id(nticas a el en otros programas o enciertas reas del sistema del disco.

E. &ase de activación: el virus se activa para llevar a cabo la función para la que estpensado. <uede producirse por múltiples sucesos el sistema.

/. &ase de ejecución: se lleva a cabo la función. -a función puede ser no da=ina!como dar un mensaje por pantalla! o da=ina! como la destrucción de archivos.

-os tipos de virus e+istentes ms significativos son:

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 69/79

& Girus par;sitos: la forma ms tradicional y! todav*a! ms común. $e engancha aarchivos ejecutables y se reproduce al ejecutar el programa infectado! buscandootros archivos ejecutables para infectar.

& Girus residentes en la memoria: se alojan en la memoria principal como parte deun programa del sistema residente. #esde entonces! el virus infecta a todos losprogramas que se ejecutan.

& Girus del sector de arranue: infecta al sector principal de arranque 6C8 y sepropaga cuando el sistema arranca desde el disco que contiene el virus.

& Girus clandestino: una forma de virus dise=ado e+pl*citamente para esconderse dela detección mediante en software antivirus.

& Girus paliforme: un virus que muta con cada infección! haciendo imposible ladetección por la LfirmaM del virus.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 70/79

Unidad 6: *rocesamiento $istribuido

Un sistema de procesamiento distribuido implica la partición de la función de computación y

puede! tambi(n! conllevar una organización distribuida de la base de datos! el control de losdispositivos y el control de las interacciones 3redes4.$e ha e+plorado un espectro de capacidades distribuidas de los sistemas operativos! comoson:

& "ruitectura de comunicaciones: este es el software que da soporte a una red decomputadoras independientes. %frece soporte para las aplicaciones distribuidas!tales como correo electrónico! transferencia de archivos y acceso a terminalesremotos. ;ada computadora tiene su propio $%! y es posible una mezclaheterog(nea de computadoras y $%! siempre que todas las mquinas soporten lamisma arquitectura de comunicaciones. <or ejemplo! protocolo T;<7<.

& Sistema operativo en red: esta es una configuración en la e+iste una red demquinas de aplicación! generalmente estaciones de trabajo monousuario y uno oms servidores. -os servidores proporcionan servicios o aplicaciones a toda la red!tales como almacenamiento de archivos y la gestión de impresoras. ;adacomputador tiene si propio $% privado.

& Sistemas operativos distribuidos: un $% común compartido por una red decomputadores. )ste $% puede depender de una arquitectura de comunicacionespara las funciones bsicas de comunicación.

1. *roceso clienteservidor

;omo el termino sugiere! el entorno clienteservidor est poblado de clientes y servidores.-as mquinas clientes son! en general! <; monousuario o puestos de trabajo que ofrecenuna interfaz muy amigable para el usuario final.)n un entorno clienteservidor! cada servidor ofrece una serie de servicios de usuariocompartidos a los clientes. "ctualmente! el tipo ms común de servidor es el servidor debase de datos! que! generalmente! controla una base de datos relacional."dems de los clientes y servidores! el tercer ingrediente bsico es la red! ya que elproceso clienteservidor es un proceso distribuido.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 71/79

2. "plicaciones clienteservidor

-a caracter*stica central de la arquitectura clienteservidor es la ubicación de las tareas delnivel de aplicación entre clientes y servidores. Tanto en el cliente como en el servidor elsoftware bsico es un $% que se ejecuta en la plataforma del hardware. -a plataforma y los$% del cliente y servidor pueden ser diferentes. )n tanto que un cliente particular y un

servidor compartan los mismos protocolos de comunicación y soporten las mismasaplicaciones! estas diferencias de niveles inferiores no son relevantes.)n mayor*a de los sistemas clienteservidor! se hace un gran hincapi( en ofrecer unainterfaz de usuario que sea fcil de utilizar y fcil de aprender! pero potente y fle+ible.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 72/79

2.1 "plicaciones de base de datos

-a familia ms común de aplicaciones clienteservidor son aquellas que utilizan base dedatos relacionales. )n este entorno! el servidor es! bsicamente! un servidor de base dedatos. -a interacción entre el cliente y el servidor se hace de forma de transacciones! donde

el cliente realiza una petición a la base de datos y recibe una respuesta de aquella.

2.2 Clases de aplicaciones clienteservidor

#entro del entorno general clienteservidor! se dispone de una gama de posiblesimplementaciones que dividen el trabajo entre el cliente y el servidor de manera diferente."lgunas de las opciones principales para las aplicaciones de base de datos son:

& *roceso basado en una m;uina central o #ost: el proceso basado en unamquina central 3host4 no es realmente un proceso clienteservidor. $e refiere msbien al entorno tradicional de grandes sistemas en el que todo o casi todo eltratamiento se realiza en un computador central. -a interfaz de usuario consiste amenudo en un terminal tonto.

& *roceso basado en el servidor: el tipo ms bsico de configuración clienteservidor

es aqu(l en que el servidor bsicamente responsable de ofrecer una interfaz deusuario grfica! mientras casi todo el tratamiento se hace en el servidor.& *roceso basado en el cliente: en el otro e+tremo! casi todo el proceso de la

aplicación puede hacerse en el cliente! con la e+cepción de las rutinas de validaciónde datos y otras funciones lógicas de la base de datos que se realizan mejor en elservidor. )s posiblemente el m(todo clienteservidor ms utilizado actualmente.

& *roceso cooperativo: el proceso de la aplicación se lleva a cabo de formaoptimizada! aprovechando la potencia de las mquinas de cliente y servidora y ladistribución de los datos. )s ms compleja de instalar y mantener.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 73/79

2.) "ruitectura clienteservidor de tres capas

-a arquitectura tradicional clienteservidor implica dos niveles o capas: una capa cliente yuna capa servidor. )n los últimos a=os la arquitectura que ms se ha pasado a utilizar esuna de tres capas. )n esta arquitectura el software de aplicación est distribuido entre tres

tipos de mquinas: una mquina usuario! un servidor de capa intermedia y un servidor final3backend 4. -a mquina de usuario en esta arquitectura! por lo general es un cliente delgado.-as mquinas de capa intermedia son esencialmente pasarelas entre los clientes delgadosy una variedad de servidores finales de base de datos.

2., Consistencia de la cac#e de arc#ivos

;uando se utiliza un servidor de archivos! el rendimiento de )$ referente a los accesoslocales a archivos puede degradarse sensiblemente por causa del retardo introducido por lared. <ara reducir esta carga! los sistemas individuales pueden usar cache de archivos paraalmacenar los registros a los que se ha accedido hace poco.;uando las caches contienen siempre copias e+actas de los datos remotos! se dice que lascaches son consistentes. <uede ser posible que lleguen a ser inconsistentes cuando se

cambian los datos remotos y no se desechan las copias obsoletas correspondientes de lascaches locales. )l problema de mantener actualizadas las copias de las caches locales seconoce como problema deconsistencia de cac#es.)l m(todo ms simple para la consistencia de caches consiste en emplear t(cnicas debloqueo de archivos para prevenir el acceso simultneo a un archivo por parte de ms deun cliente. Un m(todo ms potente es que cualquier número de procesos remotos puedeabrir un archivo para la lectura y crear su propia cache del cliente. <ero cuando la solicitudal servidor es de abrir un archivo para escritura y otros procesos tienen el mismo archivoabierto para lectura! el servidor realizada dos acciones. )n primer lugar! notifica al procesoescritor que! aunque puede mantener una cache! debe reescribir todos los bloquesalterados inmediatamente despu(s de actualizarlos. <uede haber muchos clientes de estetipo. )n segundo lugar! el servidor notifica a todos los procesos lectores que tengan abierto

el archivo que sus copias en cache ya no son vlidas.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 74/79

). 0iddle'are

;omo gran parte de las ventajas de la filosof*a clienteservidor viene dadas por sumodularidad y por la capacidad de combinar plataformas y aplicaciones para ofrecersoluciones comerciales! debe resolverse este problema de interoperación.

<ara alcanzar las ventajas reales de la filosof*a clienteservidor! los desarrolladores debendisponer de un conjunto de herramientas que proporcionen una manera uniforme deacceder a los recursos del sistema en todas las plataformas.-a forma ms común de cumplir con este requisito es utilizar interfaces estndares deprogramación y protocolos que se sitúen entre la aplicación y el software de comunicación yel sistema operativo. #ichas interfaces y protocolos estndares han venido a llamarsemiddle'are.)+iste una gran variedad de paquetes de middleware! desde los muy simples a los muycomplejos. Todos ellos tienen en común la capacidad de ocultar las complejidades ydiferencias de los diferentes protocolos de red y sistemas operativos. )n otras palabras! elmiddleware proporciona una capa de software que permite un acceso uniforme a sistemasdiferentes. "unque hay una amplia variedad de productos middleware! estos se basannormalmente en uno de dos mecanismos bsicos: el paso de mensajes o las llamadas aprocedimientos remotos.

).1 "ruitectura middle'are

,. *aso distribuido de mensajes

)n los sistemas de proceso distribuido reales se suele dar el caso de que los computadoresno compartan una memoria principal2 cada una es un sistema aislado. <or lo tanto! no es

posible emplear t(cnicas de comunicación entre procesadores basadas en memoriacompartida! como son los semforos y el uso de un rea de memoria común. )n su lugar!se usan t(cnicas basadas en el paso de mensajes.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 75/79

;on este m(todo! un proceso cliente solicita un servicio y env*a! a un proceso servidor! unmensaje que contiene una petición de servicio. )l proceso servidor satisface la petición yenv*a un mensaje de respuesta. )n su forma ms simple! solo se necesitan dos funciones:send y receive.

9 -a primitiva send la utiliza el proceso que quiere enviar el mensaje. $us parmetros

son el identificador del proceso de destino y el contenido del mensaje.9 -a primitiva receive la utiliza el proceso receptor para anuncia su intención de recibir

el mensaje! designado un rea de almacenamiento intermedio e informando almódulo de paso de mensajes.

-os procesos hacen uso de los servicios de un módulo de pasos de mensajes! el cual ser*aun middleware.

,.1 &iabilidad frente a no fiabilidad

Un servicio de paso de mensajes fiable es aquel que garantiza la entrega! si es posible.#icho servicio deber*a hacer uso de un protocolo de transporte fiable o de alguna lógicasimilar. ;omo la entrega est garantizada! no es necesario hacer que el proceso emisorsepa que se entregó el mensaje. $in embargo! puede ser útil proporcionar unacuse derecibo al proceso emisor de manera que se entere de que ya se ha entregado.)n el otro e+tremo! el servicio de paso de mensajes puede enviar simplemente el mensaje ala red de comunicaciones sin informar de su (+ito ni de su fracaso. )sta alternativa reduceenormemente la complejidad y la sobrecarga de proceso y de comunicaciones en el serviciode paso de mensajes.

,.2 @loueante frente a no bloueante

;on primitivas no bloqueantes! o as*ncronas! un proceso no queda suspendido comoresultado de su send o receive. #e esta forma! su por ejemplo un proceso utiliza unaprimitiva send ! el $% le devolver en control tan pronto como el mensaje se haya puesto enla cola para su transmisión o se haya hecho una copia. ;uando el mensaje se hayatransmitido o se haya copiado a un lugar seguro para su posterior transmisión! seinterrumpe al proceso emisor para informarle de que el buffer del mensaje puede reciclarse.-as desventajas de este enfoque es que los programas que lo emplean son dif*ciles deprobar y de depurar.-a otra alternativa es emplear primitivas bloqueantes! o s*ncronas. Unsend bloqueante no

devuelve el control al proceso emisor hasta que el mensaje haya sido transmitido.

4. ?lamadas a procedimientos remotos

)s un m(todo común muy aceptado actualmente para encapsular la comunicación en unsistema distribuido. -o fundamental de la t(cnica es permitir que programas de mquinasdiferentes interactúen mediante la semntica de llamadasretornos a simplesprocedimientos! como si los dos programas estuvieran en la misma mquina. -as ventajasde este m(todo son:

& -a llamada al procedimiento es una abstracción muy usada! aceptada y bien

comprendida.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 76/79

& ;omo la interfaz es estndar y est definida de forma precisa! el código decomunicaciones de una aplicación puede generarse automticamente.

& ;omo la interfaz es estndar y est definida de forma precisa! los desarrolladores desoftware pueden escribir módulos clientes y servidores que pueden trasladarse entrecomputadoras y $% con pocas modificaciones.

)l mecanismo de las llamas a procedimientos remotos puede considerarse como unarefinamiento del paso de mensajes fiables y bloqueante.)l programa llamador realiza una llamada normal a un procedimiento con los parmetrossituados en su mquina. <or ejemplo::A77 08;( <) donde < es el nombre delprocedimiento! ? son los argumentos pasados e son los valores devueltos.)l espacio de direcciones del llamador debe incluir un procedimiento < de presentación otonto! o bien debe enlazarse dinmicamente en el momento de la llamada. )steprocedimiento crea un mensaje que identifica al procedimiento llamado e incorpora losparmetros. ;uando se recibe la respuesta! el procedimiento de presentación retorna alprograma llamador! proporcionndole los valores devueltos.

4.1 Enlace clienteservidor

Un enlace se forma cuando dos aplicaciones han establecido una cone+ión lógica y seencuentran preparadas para intercambiar órdenes y datos.-os enlaces no persistentes suponen que la cone+ión lógica se establece entre dosprocesos en el momento de la llamada remota y que la cone+ión lógica se pierde tan prontocomo se devuelven los valores. ;omo una cone+ión requiere el mantenimiento deinformación de estado en ambos e+tremos! consume recursos.;on enlaces persistentes! una cone+ión establecida para una llamada a un procedimientoremoto se mantiene despu(s de que el procedimiento termina. -a cone+ión puede utilizarsepara futuras llamadas a procedimiento remoto. $i transcurre un periodo de tiempodeterminado sin actividad en la cone+ión! la misma finaliza.

5. "!rupaciones

-as agrupaciones son una alternativa al $6< como m(todo de proporcionar altorendimiento y alta disponibilidad. Una agrupación se puede definir como un grupo decomputadores completos interconectados que trabajan juntos como un recurso de procesounificado que puede crear la ilusión de ser una mquina.)+isten cuatro ventajas tambi(n consideradas objetivos o requisitos del dise=o deagrupaciones:

& Escalabilidad total: es posible crear agrupaciones grandes que sobrepasen con

crecer las mquinas autónomas grandes.& Escalabilidad incremental: una agrupación se configura de tal forma que es

posible a=adir sistemas nuevos a la agrupación en peque=os incrementos.& "lta disponibilidad: puesto que cada uno de los nodos de la agrupación es un

computador autónomo! el fallo de un nodo no implica la p(rdida de servicio.& 0ejor relación rendimientoprecio: es posible armar una agrupación con una

potencia de proceso igual o mayor que una mquina grande! a un precio mucho msbajo.

5.1 Confi!uración de a!rupaciones

Buizs la clasificación ms simple se basa en si los computadores de una agrupacióncomparten el acceso a los mismos discos.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 77/79

)n una configuración sin discos compartidos! la única intercone+ión se realiza por medio deun enlace de alta velocidad que se puede utilizar para el intercambio de mensajes y paracoordinar la actividad de la agrupación.-a otra alternativa es una agrupación con discos compartidos. )n este caso! generalmentee+iste un enlace de mensajes entre nodos. "dems! hay un subsistema de discodirectamente enlazado a varios computadores de la agrupación.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 78/79

5.2 Concepto de diseo de los sistemas operativos

estión de fallos

-a forma en que se gestionarn los fallos depende del m(todo de agrupación utilizado. )ngeneral! para tratar los fallos se pueden seguir dos enfoques:

& Una agrupación de alta disponibilidad ofrece una alta probabilidad de que todos losrecursos est(n siendo utilizados. $i se produce un fallo! cualquier consulta perdida!si se retoma! ser atendida por un computador diferente de la agrupación.

& Una agrupación tolerante a fallos garantiza que los recursos siempre van a estardisponibles. )sto se logra mediante el uso de discos compartidos redundantes y demecanismos de respaldo para transacciones sin confirmar y transaccionescompletadas y confirmadas.

-a función de intercambiar una aplicación y los datos de un sistema fallido por un sistemaalternativo en un agrupación se denominaresistencia a fallos. Una función af*n a laanterior es la restauración de aplicaciones y de datos al sistema original una vez que se hareparado2 esto se denomina restauración de fallos.

Euilibrio de car!a 

Una agrupación requiere una capacidad eficaz para balancear la carga entre loscomputadores disponibles. -os mecanismos middleware necesitan reconocer que servicios

pueden aparecer en los diferentes miembros de la agrupación y pueden migrar de unmiembro a otro.

8/16/2019 Mega Resume n Sop

http://slidepdf.com/reader/full/mega-resume-n-sop 79/79

*roceso paralelo

)+isten tres enfoque generales para este caso:& Compilador paralelo: un compilador paralelo determina! en tiempo de compilación!

que partes de la aplicación se pueden ejecutar en paralelo. )stas se dividen paraasignarlas a distintos computadores de la agrupación.

& "plicaciones paralelas: en este enfoque! el programador dise=a la aplicacióndesde el principio para ejecutar en una agrupación.

& Computación paramtrica: este enfoque se puede utilizar si el centro de laaplicación es un algoritmo o programa que debe ejecutarse muchas veces! cada vezcon un conjunto diferente de condiciones o parmetros.

5.) "ruitectura de computadores de a!rupación

)l middleware de la agrupación ofrece una imagen unificada del sistema al usuario!

conocida como ima!en de sistema /nico. )l middleware tambi(n es responsable deofrecer una alta disponibilidad! mediante el balanceo de carga y respondiendo a fallos en loscomponentes individuales. -os siguientes servicios y funciones son los deseables en unmiddleware de agrupación:

& Mnico punto de entrada: un usuario se identifica en la agrupación en lugar de uncomputador individual.

& Mnica jeraru-a de arc#ivos: el usuario ve una única jerarqu*a de directorios bajo elmismo directorio ra*z.

& Mnico punto de control: e+iste una única estación de trabajo utilizada para lagestión y control de la agrupación.

& Mnica !estión de red virtual: cualquier nodo puede acceder a cualquier punto de laagrupación.

& Mnico espacio de memoria: la memoria compartida distribuida permite a losprogramas compartir variables.

& Mnica interfaz de usuario: una interfaz grfica común da soporte a todos losusuarios! independientemente de la estación de trabajo desde la que entren a laagrupación.

& Mnico espacio de ES: cualquier nodo puede acceder de forma remota a cualquierdispositivo perif(rico.

& *untos de recuperación: esta función guarda periódicamente el estado delproceso! para permitir la recuperación de un fallo.

& 0i!ración de procesos: esta función permite el equilibrio de la carga.