Sie sind auf Seite 1von 42

Pgina 1 de 42

1. Software de un sistema informtico

Unidad Didctica III


Software de un sistema informtico
En este tema y en el siguiente pretendemos introducir gran parte de la teora en la que estn basados los sistemas operativos que se utilizan actualmente. Conforme avance el curso irs conociendo y practicando, los sistemas operativos ms representativos de la informtica actual como son la familia de productos Windows de Microsoft y el sistema operativo Guadalinex, distribucin de Linux que ha desarrollado la Junta de Andaluca. En SI Andaluca SCA, el software que utilizan es el que los clientes demandan. Por ello los protagonistas de nuestra historia deben conocer a fondo todos los productos que el mercado ofrece en cuanto a software de sistema y as aconsejar con garantas cul se adecua mejor a las necesidades y situaciones que su clientela le pueda plantear. Jos dice que deben conocer a fondo la teora en la que estn basados los desarrollos de los productos comerciales. Slo conociendo como funcionan los sistemas "por dentro" podrn llegar a ser autnticos profesionales con criterio propio, capaces de valorar las caractersticas de cada sistema. Y lo que es ms importante, conociendo los entresijos de las mquinas y software que van a utilizar podrn sacarles el mximo partido. En alguna ocasin han debatido decantarse por un sistema u otro, con el fin de especializarse y dominar el sistema en cuestin, pero siempre hay quienes defienden posturas opuestas. Por ello han decidido no cerrarse a ninguna opcin y que en la empresa haya siempre al menos una persona que se dedique al sistema Linux (en todas sus distribuciones) y otra para el sistema Windows de Microsoft (tambin en todas sus versiones). El mximo defensor de Linux en la empresa es Jess. Le gusta la filosofa del software libre y el poder hacer aportaciones al sistema. De hecho en alguna ocasin ha notificado errores encontrados y ha hecho alguna pequea aplicacin que por supuesto ha aportado a la comunidad Linux. La que se decanta por Microsoft es Mara, que est de acuerdo con la filosofa de Linux pero exclusivamente para uso domstico. Piensa que para las empresas es necesario tener un sistema respaldado por una gran compaa que garantice la evolucin, soporte tcnico y tengan contra quien dirigirse ante catstrofes por fallos del software. En cualquier caso han decidido estar abiertos a todas las posibilidades y estudiar cada caso porque adems hay otros sistemas que se adaptan mejor a determinadas tareas empresariales, por ejemplo Mac OS de Apple para diseo grfico, Solaris de Sun Microsystem, para servidores, y otros muchos. En SI Andaluca saben que los productos comerciales que existen en el mercado y los nuevos que aparecern, estn basados en conocimientos tcnicos que son independientes del fabricante o del modelo de sistema. Para comprender y valorar lo particular deben conocer antes lo general. Tanto Jess como Mara estn al da de estos conocimientos tcnicos para comparar continuamente las posibilidades de un sistema frente al otro. Sistemas informticos multiusuario y en red

Pgina 2 de 42

2. Software de un sistema informtico

Unidad Didctica III


Software de un sistema informtico
Vctor est terminando la instalacin de las oficinas para la gestora de unos clientes de Proyectos Locales S.L. y le pregunta a Jess, qu sistema debe instalar en los ordenadores de trabajo. Jess le dice que la empresa ha pedido mantener el mismo sistema con el que vienen trabajando antes del cambio de oficinas, o sea Windows. Jess les coment que sera mejor algn sistema gratuito con el que se ahorraran una cantidad de dinero importante y con el que tendran las mismas prestaciones. Pero la empresa le dijo que ahora no es momento de ms alteraciones, que el mtodo de trabajo ya est establecido y que con estas nuevas oficinas lo que pretenden es modernizar su imagen frente a los clientes, pero que han decidido seguir trabajando igual que antes. Ya sabes que los ordenadores son mquinas de propsito general, puesto que de antemano no pueden realizar ninguna tarea que no les sea indicada por medio de un programa. Tambin has estudiado que a los programas de ordenador se les denomina genricamente software. Ese software se puede clasificar por su funcin en:

Sistema operativo: Es un software que permite administrar los recursos de un ordenador. Te preguntars cules son estos recursos? Pues bien, segn se vio en la primera unidad del curso nos estamos refiriendo a:

la memoria, el procesador, los dispositivos de entrada/salida, los dispositivos de comunicacin y datos y los medios de almacenamiento masivo.

En realidad el sistema operativo no es un solo programa, sino que lo forman una gran variedad de estos, de manera que cada uno tiene una misin asignada y todos juntos colaboran entre s para conseguir que nuestro ordenador funcione, tambin hace de interfaz entre el hardware y el resto de software que utilizamos. Tambin es misin del sistema operativo proporcionar una interfaz de lnea de comando o una interfaz grfica al usuario, para que este ltimo se pueda comunicar con el ordenador. Programas de aplicacin: Es el software que se superpone al sistema operativo y se aprovecha de l para proporcionarnos las diferentes funcionalidades que le vamos a pedir a nuestro sistema informtico. Por ejemplo un programa de aplicacin podra ser una hoja de clculo o el navegador Web que ests utilizando para seguir este curso. Sin el sistema operativo proporcionando acceso a los recursos del ordenador (pantalla, impresora, memoria, procesador, etc.) y controlando todos los procesos, los programas de aplicacin no podran funcionar.

Pgina 3 de 42

Jess piensa que modernizar una empresa incorporando solamente el mobiliario y los equipos informticos es un error y que la modernizacin de la empresa hay que hacerla desde el software. Opina que Linux es un sistema que administra muy bien los recursos del ordenador; hace una buena gestin de la memoria y admite el uso de prcticamente cualquier dispositivo hardware, igual o mejor que Windows. Adems con la interfaz grfica mediante los gestores de ventanas no tiene nada que envidiar a Windows y por supuesto el terminal de lnea de comandos con amplia gama de posibilidades, incluso la de gestionar los proceso que se estn ejecutando en cada momento. La empresa reconoce que a veces tienen problemas con los ordenadores pero se han acostumbrado a ellos y prefiere invertir su tiempo en captar clientes y atender mejor a los que ya tiene, al menos para que se sientan ms cmodos. Un sistema operativo es un software complejo, costoso y que a menudo necesita de bastante tiempo para su puesta en marcha y configuracin ptima. Sobre todo hoy da, con la presencia de redes locales, Internet y hardware cada vez ms variado. Las empresas suelen planificar bastante bien todo lo que afecta al cambio de sistema operativo, puesto que esto puede suponer una fuente de problemas, adems de obligarnos a cambiar buena parte del software de aplicacin que se estuviera utilizando. No existen versiones de todos los programas de aplicacin para todos los sistemas operativos. Recuerda: Un cambio de sistema operativo no es una cuestin menor. AUTOEVALUACIN Elige la respuesta correcta: a) Parte del sistema operativo b) Un programa de aplicacin c) Las respuestas a y b son correctas d) Ninguna respuesta es correcta

Sistemas informticos multiusuario y en red

Pgina 4 de 42

3. Sistema operativo

Unidad Didctica III


Sistema operativo
Vctor debe instalar en cada uno de los ordenadores el sistema operativo Windows. La verdad es que l lo prefiere ya que se trata de un proceso automatizado que no entraa mayor problema, pero sabe que las licencias del sistema operativo para los quince ordenadores de estas nuevas oficinas van a suponer un gasto econmico importante para el cliente. Evidentemente a ese gasto luego tendrn que aadir el coste de las aplicaciones ofimticas y otras especficas que ellos utilicen. Piensa que todo esto saldra gratis si escucharan a Jess y se decantaran por el software libre. La verdad, es que desde que encendemos el ordenador ya estamos utilizando el sistema operativo. Aunque por otra parte el sistema operativo por s solo no tiene mucha utilidad, puesto que su funcin no es otra que hacer de enlace entre el hardware de nuestra mquina y los programas de aplicacin que utilicemos.

Vamos a ver a continuacin algunas definiciones de sistema operativo, puedes tener una idea bastante completa de lo que estamos estudiando si combinas todas estas definiciones.

Puedes imaginar un sistema operativo como los programas que hacen utilizable el hardware. El hardware proporciona la "capacidad bruta de proceso"; los sistemas operativos ponen dicha capacidad de proceso al alcance de los usuarios y administran cuidadosamente el hardware para lograr un buen rendimiento. Los sistemas operativos son ante todo administradores de recursos; el principal recurso que administran es el hardware del ordenador. Un sistema operativo es un programa que acta como intermediario entre el usuario y el hardware del ordenador y su propsito es proporcionar el entorno en el cual el usuario pueda ejecutar programas. Entonces, el objetivo principal de un sistema operativo es, lograr que el sistema informtico se use de manera cmoda, y el objetivo secundario es que el hardware del computador se emplee de manera eficiente. Un sistema operativo es un conjunto de programas que controla la ejecucin de programas de aplicacin y acta como una interfaz entre el usuario y el hardware de un ordenador. Esto es, un sistema operativo explota y administra los recursos de hardware del ordenador con el objeto de proporcionar un conjunto de servicios a los usuarios del sistema.

Vctor recuerda cuando un amigo le pregunt qu es el sistema operativo del ordenador y la rpida respuesta de Carmen que le evit quedar en evidencia. Porque aunque tiene muy claro cul es el sistema operativo de un ordenador, no encontraba palabras para explicarlo. Por el contrario le pareci muy acertada la definicin de Carmen: "Se trata de un software especial e imprescindible que permite a cualquier aplicacin informtica utilizar todos los dispositivos que componen el ordenador, as como todos los que se le pueden conectar, realizando adems las tareas de comunicacin entre el usuario y la mquina". Esa definicin dej totalmente satisfecho a Vctor. Y a su

Pgina 5 de 42

amigo, claro. AUTOEVALUACIN Un sistema operativo: a) Administra los recursos hardware de la mquina b) Es un conjunto de programas que controla y gestiona los programas c) Proporciona una interfaz entre el hardware y el usuario d) Todas las respuestas son correctas CORRECTA

Para saber ms: Hoy da los dos sistemas operativos ms utilizados y extendidos en el mundo de los ordenadores personales y grandes sistemas son los de la familia de productos Windows de Microsoft y el sistema operativo Linux en sus diferentes distribuciones. Una de las distribuciones de linux es promovida por la Junta de Andaluca, la conocida Guadalinex. Visita los siguientes enlaces para conocer mas detalles de ambos sistemas operativos. Guadalinex Familia de sistemas Microsoft Sistemas informticos multiusuario y en red

Pgina 6 de 42

4. Caractersticas deseables de los sistemas operativos

Unidad Didctica III


Caractersticas deseables de los sistemas operativos
Aquella explicacin de Carmen sobre qu es un sistema operativo, Vctor la memoriz, y desde entonces de una forma sencilla y por su cuenta concret que para que un ordenador funcione con garantas el sistema operativo debe tener cierta calidad y para ello es necesario que sea fcil de usar, que impida y solucione errores de los dispositivos y permita la comunicacin del ordenador de forma sencilla y eficiente.

A continuacin veremos las caractersticas que se deben perseguir al disear e implementar un sistema operativo. Tambin nos sirven para evaluar o medir la conveniencia de su eleccin. No todos los sistemas operativos cumplen con todas las caractersticas reseadas, unos estn ms orientados a la seguridad y otros persiguen una buena usabilidad. La eleccin de un sistema operativo depender del uso que se quiera hacer de l.

Eficiencia: Un sistema operativo permite que los recursos del ordenador se usen de la manera ms eficiente posible. Por ejemplo se deben optimizar los accesos a disco para acelerar las operaciones de entrada/salida. Fiabilidad: Un sistema operativo no debe tener errores y debe prever todas las posibles situaciones crticas y resolverlas si es que se producen. Robustez: El sistema operativo debe responder de forma predecible y controlada a condiciones de error, incluidos fallos hardware. Seguridad: El sistema operativo debe protegerse activamente a s mismo y a los usuarios de acciones accidentales o malintencionadas. Por ejemplo se deben proteger los archivos de un usuario del uso no autorizado por otro usuario. Tambin es fundamental limitar el acceso de los usuarios sin privilegios de administrador a las partes ms sensibles del sistema. Extensibilidad: La aparicin constante de nuevo hardware y de nuevos tipos de aplicaciones, exigen al sistema operativo la adicin de nueva funcionalidad. En lugar de construir un nuevo sistema operativo cada vez, se pretende construir un sistema que pueda extenderse, es decir, su funcionalidad pueda variar o crecer, de una forma sencilla. Por ejemplo, que un sistema tradicional soporte aplicaciones de tiempo real, que soporte nuevos sistemas de archivos, nuevos perifricos, etc.

Pgina 7 de 42

Facilitar las entradas y salidas: Un sistema operativo debe hacerle fcil al usuario el acceso y manejo de los dispositivos de Entrada/Salida del ordenador. Como por ejemplo facilitar la impresin de documentos, gestin de interfaces de entrada como teclado y ratn o almacenar y recuperar de forma correcta los archivos en disco. Manejar las comunicaciones en red: El sistema operativo debe permitir al usuario manejar con alta facilidad todo lo referente a la instalacin y uso de las redes de ordenadores. Este aspecto es cada vez ms importante, puesto que se ha generalizado el uso de redes locales e Internet. Permitir a los usuarios compartir recursos y datos: Este aspecto est muy relacionado con el anterior y dara al sistema operativo el papel de regulador de los recursos de una red. Disponer de un entorno amigable y de fcil uso: Hoy da los sistemas operativos, sobre todo si estn dirigidos al usuario final, deben proveer de un entorno de trabajo que facilite su uso por parte del usuario. Atrs quedaron los tiempos en los que el sistema operativo slo provea de una espartana interfaz en lnea de comandos (aunque hoy da todava es usado en muchas ocasiones). En la actualidad los sistemas operativos disponen de entornos grficos llamados escritorios que facilitan las operaciones de manejo de programas de aplicacin y del propio sistema operativo. Los sistemas Windows, los sistemas Mac o los escritorios Gnome o KDE de Linux son ejemplos de esto. AUTOEVALUACIN La robustez de un sistema operativo: a) Indica si el hardware se utiliza de forma eficiente b) Imposibilita que los usuarios provoquen fallos en el sistema c) Asegura que se responder a los errores de forma predecible y controlada CORRECTA d) Facilita las entradas y salidas

Para saber ms: A lo largo del tiempo se han empleado diferentes tcnicas para disear los sistemas operativos. Una de las ms utilizadas ha sido en diseo por capas. En el siguiente enlace se hace una introduccin a este modo de diseo y se compara UNIX clsico con Linux y con Windows 2000. Diseo de sistemas operativos [Versin en cach]
Para descargar el programa Acrobat Reader pulsa aqu.

Sistemas informticos multiusuario y en red

Pgina 8 de 42

5. Evolucin histrica de los sistemas operativos

Unidad Didctica III


Evolucin histrica de los sistemas operativos
CASO. Una tarde en la que Vctor va a continuar instalando ordenadores en las nuevas oficinas para la gestora, le acompaa Antonio, el hermano de Jos. Durante la configuracin del sistema operativo Antonio recuerda las palabras de Enrique, un experimentado informtico que empez trabajando con unos ordenadores que tenan un sistema operativo llamado UNIX, en el que no existan iconos ni colores. Slo una pantalla en la que se tecleaba una lnea con las instrucciones, esperabas un rato y entonces el ordenador te responda con unas lneas similares (o en la impresora), que a veces eran interminables. Tambin deca que era un sistema que nunca se bloqueaba y que an sigue utilizndose en algunas universidades y en grandes aplicaciones de gestin de aeropuertos, por ejemplo. Los sistemas operativos han venido evolucionando a travs de los aos. Y lo han hecho a la par de la arquitectura de los ordenadores en los cuales se ejecutan. Ya conociste las distintas generaciones de ordenadores en la primera unidad de este mdulo. Ahora veremos cmo eran los sistemas operativos que se desarrollaron para ejecutarse en los ordenadores de cada generacin y tambin que tcnicas se fueron utilizando en cada uno de ellos. Se puede decir que la evolucin de los sistemas operativos va paralela a la evolucin de los ordenadores donde se ejecutan. Se habla de generaciones de sistemas operativos, cada una de las cuales se caracteriza por un salto cualitativo importante con respecto a las dems.

Sistemas informticos multiusuario y en red

Pgina 9 de 42

5.1. Primera generacin (aos 50)

Unidad Didctica III


Primera generacin (aos 50) Los primeros sistemas operativos eran muy bsicos y rudimentarios. Surgieron en los aos cincuenta, con los primeros ordenadores de tubos de vaco. Estos primeros sistemas operativos se limitaban a controlar y secuenciar la ejecucin de programas y sus datos, que en aquella poca estaban escritos en tarjetas perforadas.

Las tarjetas perforadas llevaban escritas las instrucciones de programa en forma de agujeros en una cartulina, que una mquina lectora de tarjetas comunicaba al sistema operativo. Este iba obteniendo las diferentes instrucciones en secuencia y controlando su ejecucin.

En estos sistemas operativos la parte ms importante se llamaba monitor y controlaba la ejecucin de un programa y el paso al siguiente programa a ejecutar, para ello se utilizaban unas tarjetas especiales con instrucciones de control que se intercalaban entre las tarjetas con instrucciones de programa. Con esto haba nacido el concepto de procesamiento por lotes. El proceso por lotes se caracteriza porque mientras que el sistema operativo est ejecutando un programa, ste dispone de todos los recursos hasta su finalizacin, momento en el cual el monitor lanza la ejecucin del siguiente programa y as sucesivamente. Sistemas informticos multiusuario y en red

Pgina 10 de 42

Pgina 11 de 42

5.2. Segunda generacin (aos 60)

Unidad Didctica III


Segunda generacin (aos 60)

Aparecen los ordenadores construidos a base de transistores, cada vez ms pequeos y potentes. Uno de los grandes problemas de los sistemas de la primera generacin era el desfase de velocidad entre la CPU y los dispositivos de entrada/salida, esto provocaba que gran parte del tiempo la CPU estuviera inactiva, por ejemplo mientras se impriman resultados en una impresora o se lean datos de tarjetas perforadas (procesos lentos) la CPU no haca nada salvo esperar.

En la segunda generacin se idearon tcnicas para paliar este problema y apareci el concepto de proceso fuera de lnea (offline). Consista en pasar los datos de entrada a cinta magntica (rpida) que despus era conectada a la CPU para su proceso, la CPU escriba los resultados en otra cinta que luego se pasaba a un sistema aparte para imprimir. De esta manera mientras la CPU trabajaba con una cinta se poda estar imprimiendo el contenido de otra cinta o pasando de tarjetas perforadas a cinta.

Sistemas informticos multiusuario y en red

Pgina 12 de 42

Pgina 13 de 42

5.3. Tercera generacin (aos 70)

Unidad Didctica III


Tercera generacin (aos 70) El avance que supuso la introduccin en la industria del circuito integrado que sustitua a los transistores provoc que de nuevo se buscaran tcnicas para mejorar el rendimiento y as aparece el concepto de multiprogramacin. Consistente en la ejecucin en un mismo procesador, de varios programas a la vez.

Para ello se emplea el tiempo compartido (time sharing) en el que a travs de polticas de asignacin, se ejecutan varios programas intercalando la ejecucin de sus instrucciones en el procesador. Los programas son cada vez ms interactivos y necesitan un determinado dilogo con el usuario. Por ello aparece el tiempo compartido, consistente en un conjunto de terminales que estn continuamente solicitando atencin del procesador, siendo el sistema operativo quien va intercalando dicha atencin entre los distintos usuarios. En estos aos aparece un sistema operativo que tendr mucha importancia a partir de entonces y que con su evolucin particular permanece hasta nuestros das, nos referimos a UNIX. Hoy da la variante ms conocida es Linux y en concreto la distribucin promovida por la Junta de Andaluca: Guadalinex.

Sistemas informticos multiusuario y en red

Pgina 14 de 42

5.4. Cuarta generacin (aos 80 hasta nuestros das)

Unidad Didctica III


Cuarta generacin (aos 80 hasta nuestros das) Las ltimas innovaciones tcnicas en los sistemas operativos, a partir de los aos ochenta, estn ligadas a los avances en la industria del hardware. Ahora ya no slo se trata de incrementar la velocidad de los procesos, sino de aumentar la seguridad y las prestaciones que pueden ofrecerse al usuario. Hay sistemas que controlan lo que se denomina proceso distribuido, consistente en la conexin en paralelo de varios ordenadores compartiendo memoria, buses y terminales con el fin de ganar seguridad en el servicio, debido a que el sistema operativo va repartiendo el trabajo solicitado entre los distintos ordenadores incluso ante el fallo de uno de ellos no se interrumpe el servicio por parte del resto. Para incrementar la velocidad de proceso, existe el multiproceso, consistente en ordenadores que poseen ms de un procesador, con lo que el sistema operativo controla el reparto de trabajo entre los distintos procesadores, aumentando el nmero de instrucciones que la mquina puede ejecutar por unidad de tiempo. Sistemas que pueden aprovechar estos recursos son Linux y Windows 2000 y 2003.

Por ltimo, aparecen sistemas operativos en red para controlar el trabajo que se realiza en una red de ordenadores y entornos operativos que permiten el uso de un sistema operativo con mayor facilidad y adems, aumentando sus prestaciones. Ejemplos de esto son Windows 2000 Server o l mas reciente Windows 2003 Server. En los aos 80 aparecen los primeros ordenadores personales (IBM PC) y el sistema operativo que utilizaban era MS-DOS. Mas tarde aparecen otros sistemas operativos para PC que explotan las caractersticas de estos (interfaces grficos, multitarea, perifricos...), nos estamos refiriendo a OS/2 de IBM y sobre todo a la familia Windows de Microsoft desde el Windows 3.1 hasta el actual XP pasando por diferentes versiones como Windows 95, 98, 2000 y Millenium.

DEMO: Vea un cronograma con las distintas generaciones de los sistemas operativos

En la actualidad existen sistemas operativos para PDA, telfonos mviles y otros dispositivos de comunicaciones e informtica que estn apareciendo en nuestros das.

Pgina 15 de 42

AUTOEVALUACIN La multiprogramacin surge durante la: a) Tercera generacin b) Primera generacin c) Segunda generacin d) Cuarta generacin

Sistemas informticos multiusuario y en red

Pgina 16 de 42

6. Clasificacin de sistemas operativos

Unidad Didctica III


Clasificacin de sistemas operativos
Jess se ha encontrado muchas veces ante la situacin de explicar a los clientes qu es y para qu necesitan un sistema operativo, si ya tienen un buen ordenador. Eso normalmente no le resulta difcil, pero es ms complicado cuando le preguntan cul es mejor y por qu. Algunos clientes incluso le preguntan qu tipos de sistemas operativos hay y cuales son los ms adecuados para cada situacin. Jess ya ha aprendido a responder de forma... digamos adecuada a todas esas cuestiones, pero para llegar a una respuesta convincente para el cliente ha tenido que hacer uso de todos sus conocimientos sobre los sistemas operativos. Nos interesa poder clasificar los distintos sistemas operativos, esto te ayudar a poder identificarlos y valorar similitudes y diferencias. Los sistemas operativos se pueden clasificar en base a distintos criterios. Veamos las distintas clasificaciones.

Sistemas informticos multiusuario y en red

Pgina 17 de 42

6.1. Sistemas Operativos clasificados por su estructura

Unidad Didctica III


Sistemas Operativos clasificados por su estructura Se entiende por estructura del sistema operativo a la forma como se divide internamente y cules son las relaciones entre las distintas partes.

Estructura monoltica: Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra.

Estructura jerrquica: Es donde una parte del sistema contiene subpartes y est organizado en forma de niveles, de tal forma que cada una de ellos est perfectamente definido y con una clara interface con el resto de elementos. En esta estructura se basan prcticamente la mayora de los sistemas operativos actuales.

Pgina 18 de 42

Mquina Virtual: Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso, mostrando una mquina que parece idntica a la mquina real subyacente. Estos sistemas operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: la multiprogramacin y la mquina extendida. El objetivo de los sistemas operativos de mquina virtual es el de integrar distintos sistemas operativosdando la sensacin de ser varias mquinas diferentes. Microkernel o microncleo: Se conoce como microkernel al modelo de kernel (ncleo) de sistema operativo, que consiste en distribuir las diferentes tareas en porciones de cdigo modulares y sencillas. Se pretende aislar del sistema, su ncleo, las operaciones de entrada/salida, gestin de memoria, etc., que se realizaran en procesos separados. Esto mejora la tolerancia a fallos y eleva la portabilidad entre plataformas de hardware. Algunos sistemas que utilizan esta tecnologa son AIX, MACOSX o Hurd.

En una ocasin el director general de una gran empresa le pregunt directamente que cul sera el sistema operativo ms adecuado para diferentes departamentos de su empresa en situaciones muy diversas. Jess le respondi que en primer lugar hay muchos factores sobre los que responder esa pregunta, lo ideal es un sistema operativo estructurado jerrquicamente para asegurar las mejoras y actualizaciones del sistema. Un claro ejemplo de estos sistemas pueden ser Windows (que continuamente lanza versiones de mejora y nuevos productos basados en los anteriores) y Linux, en cualquiera de sus distribuciones, de las que continuamente aparecen mejoras y utilidades, y para las que cualquier persona puede hacer aportaciones ms o menos complejas dada su estructura modular en diferentes niveles. AUTOEVALUACIN En el kernel o ncleo de un sistema operativo se incluye:

Pgina 19 de 42

a) el planificador de procesos b) el gestor de entradas y salidas y el administrador del escritorio c) el entorno grfico o interfaz grfica d) el instalador de aplicaciones

Sistemas informticos multiusuario y en red

Pgina 20 de 42

6.2. Sistemas Operativos clasificados por sus servicios

Unidad Didctica III


Sistemas Operativos clasificados por sus servicios

Por el nmero de usuarios simultneos que soporta

Monousuario: Soportan un nico usuario a la vez, sin importar el nmero de procesadores que tenga el ordenador o el nmero de procesos o tareas que pueda ejecutar en un mismo instante de tiempo; como el MS-DOS, Windows 3.1, 95, 98 y Millenium. Multiusuario: Son capaces de dar servicio a uno o ms usuarios a la vez, ya sea por medio de varias terminales conectadas al ordenador o por medio de accesos remotos en una red de comunicaciones. Adems no importa el nmero de procesadores en la maquina y ni el nmero de procesos de cada usuario, este puede ejecutarse simultneamente. Como el UNIX, Linux, NETWARE, Windows NT, Windows 2000 Server, LAN Manager (IBM). Jess contina con su exposicin. Adems dadas las aplicaciones actuales de los ordenadores en la empresa sera interesante un sistema multiusuario, porque cada vez ms los programas se programan para ser utilizados simultneamente desde varios puestos.

Por el nmero de tareas (trabajos) que pueden ejecutar al mismo tiempo

Monotarea: Permiten realizar una sola tarea a la vez por usuario. Multitarea: Soportan la ejecucin de dos o ms trabajos activos al mismo tiempo. Esto trae como resultado que la CPU siempre tenga alguna tarea que ejecutar, aprovechando al mximo su utilizacin; como en UNIX, Windows 95, 98, NT, 2000, MAC-OS, OS/2.

Tambin comenta que aunque actualmente todos son multitarea, unos gestionan mejor que otros la memoria, lo que puede mejorar el rendimiento al realizar varias tareas simultneas. Y que esto se mejora si utiliza ordenadores de varios procesadores, lo que implica necesariamente la multitarea, ya que cada procesador puede hacer de forma paralela varias tareas al mismo tiempo, e incluso complementarse en las operaciones que realizan. Por el nmero de procesos simultneos

Uniproceso: Es capaz de manejar solo un proceso del ordenador simultneamente. Como el MS-DOS y Windows 95, 98, Millenium y XP. Multiproceso: Estos pueden ser simtricos o asimtricos y se necesita que el hardware del ordenador tenga varios procesadores. El sistema gestionar su utilizacin administrar la carga de trabajo de cada uno. Ejemplos pueden ser UNIX, Linux o Windows 2000 y 2003 Server. AUTOEVALUACIN

Pgina 21 de 42

Linux es un sistema operativo: a) Monousuario, multitarea y multiproceso b) De estructura monoltica c) Multiusuario, multiproceso y monotarea d) Ninguna de las anteriores respuestas es correcta

Sistemas informticos multiusuario y en red

Pgina 22 de 42

7. Procesos

Unidad Didctica III


Procesos
Durante la configuracin de uno de los equipos de la nueva oficina para la gestora, Carmen ejecuta una serie de programas para optimizar el sistema y recuerda que uno de estos programas en una ocasin, durante unas prcticas en el Instituto, le dio muchos problemas porque alguno de los procesos que lo componen se bloqueaba al esperar una respuesta que nunca llegaba. Recuerda que uno de sus profesores le comentaba que los sistemas operativos multitarea disponan de un mecanismo llamado planificador del procesador, encargado de reducir al mximo los tiempos de inactividad de la CPU y obtener el mayor rendimiento posible. Y que lo deseable es que el sistema operativo nos permita acceder a la lista de procesos en cada momento y realizar algunas operaciones sobre ella, consiguiendo as un mayor control sobre la mquina. Una de las tareas ms importantes de un sistema operativo es la de administrar los procesos y tareas del sistema. Veamos primero que es un proceso. Un proceso en un programa en ejecucin. Un proceso simple tiene un hilo de ejecucin, (ms adelante se ver qu es esto, ahora no es el momento). Una vez definido qu es un proceso nos podramos preguntar cul es la diferencia entre un programa y un proceso:

un proceso es una actividad de cierto tipo que contiene un programa; entradas, salidas y estados. un programa est compuesto por procesos.

Un proceso puede estar en cualquiera de los siguientes tres estados:


Listo, En ejecucin y bloqueado.

Los procesos en estado listo son los que pueden pasar a estado de ejecucin si el planificador del sistema operativo los selecciona, o sea cuando llegue su turno (segn su importancia y orden de llegada). Los procesos en estado de ejecucin son los que se estn ejecutando en el procesador en un momento dado. Los procesos que se encuentran en estado bloqueado estn esperando la respuesta de algn otro proceso para poder continuar con su ejecucin, por ejemplo una operacin de entrada/salida.

Los procesos pueden cooperar o ser independientes, en el primer caso se entiende que los procesos interactan entre s y pertenecen a una misma aplicacin. En el caso de procesos independientes en general se debe a que no interactan y un proceso no requiere informacin de otros. AUTOEVALUACIN

Pgina 23 de 42

Un proceso esperando el trabajo de una impresora est: a) Listo b) En ejecucin c) Bloqueado d) Las tres respuestas anteriores son correctas

Para saber ms: Es muy importante para el buen funcionamiento del sistema operativo la planificacin de procesos. En concreto la coordinacin entre diferentes procesos que luchan por obtener los mismos recursos o bien que dependen unos de otros. Existe un gran problema en el diseo de sistema que es la exclusin mutua o deadlock (abrazo mortal). Existen varias soluciones para resolverlo, lee el siguiente enlace para conocer este tema a fondo. Coordinacin entre procesos [Versin en cach]

Sistemas informticos multiusuario y en red

Pgina 24 de 42

7.1. Planificacin del procesador

Unidad Didctica III


Planificacin del procesador La planificacin del procesador se refiere a la manera o tcnicas que se usan para decidir cunto tiempo de ejecucin se le asigna a cada proceso del sistema y en qu momento. Obviamente, si el sistema es monousuario y monotarea no hay mucho que decidir, pero en el resto de los sistemas esto es crucial para el buen funcionamiento del sistema, pues determinar la correcta ejecucin de los distintos programas de aplicacin que se estn ejecutando. Para lograr la implementacin del modelo de procesos el sistema operativo almacena en una tabla denominada tabla de control de procesos la informacin relativa a cada proceso que se esta ejecutando en el procesador. La informacin que se almacena es la siguiente: 1. 2. 3. 4. 5. 6. 7. 8. Identificacin del proceso. Identificacin del proceso padre. Informacin sobre el usuario y grupo. Que lo han lanzado. Estado del procesador. El contenido de los registros internos, contador de programa, etc. Es decir el entorno voltil del proceso. Informacin de control de proceso Informacin del planificador. Segmentos de memoria asignados. Recursos asignados.

Jess siempre ha dicho que una de las cosas que ms le gusta del sistema operativo Linux es precisamente la posibilidad de interactuar sobre los procesos de forma directa, permitiendo as un mayor control y una gestin "manual" de los procesos, mucho mejor que lo que permiten otros sistemas como Windows. Sistemas informticos multiusuario y en red

Pgina 25 de 42

7.2. Objetivos de la planificacin

Unidad Didctica III


Objetivos de la planificacin Una estrategia de planificacin debe buscar que los procesos obtengan sus turnos de ejecucin de forma apropiada, junto con un buen rendimiento y minimizacin de la sobrecarga (overhead) del planificador mismo. En general, se buscan objetivos principales: cinco

1. Justicia o Imparcialidad: Todos los procesos son tratados de la misma forma, y en algn momento obtienen su turno de ejecucin o intervalos de tiempo de ejecucin hasta su terminacin con xito. 2. Maximizar la Produccin: El sistema debe finalizar el mayor nmero de procesos por unidad tiempo. 3. Maximizar el Tiempo de Respuesta: Cada usuario o proceso debe observar que el sistema les responde consistentemente a sus requerimientos. As el usuario no percibir tiempos de espera demasiado largos. 4. Evitar el aplazamiento indefinido: Los procesos deben terminar en un plazo finito de tiempo. Esto es, el usuario no debe percibir que su programa se ha parado o "colgado". 5. El sistema debe ser predecible: Ante cargas de trabajo ligeras el sistema debe responder rpido y con cargas pesadas debe ir degradndose paulatinamente. Otro punto de vista de esto es que si se ejecuta el mismo proceso en cargas similares de todo el sistema, la respuesta en todos los casos debe ser similar.

AUTOEVALUACIN El planificador de procesos del sistema operativo debe pretender: a) Que todos los procesos se ejecuten b) Que se ejecute el mayor nmero de procesos posible c) Que no se produzcan largos tiempos de espera d) Las tres respuestas anteriores son correctas

Sistemas informticos multiusuario y en red

Pgina 26 de 42

7.3. Caractersticas a considerar de los procesos

Unidad Didctica III


Caractersticas a considerar de los procesos

No todos los sistemas informticos procesan el mismo tipo de trabajos, y un algoritmo de planificacin que en un sistema funciona excelente puede dar un rendimiento psimo en otro cuyos procesos tienen caractersticas diferentes. Estas caractersticas pueden ser:

1. Cantidad de Entrada/Salida: Existen procesos que realizan una gran cantidad de operaciones de entrada y salida (aplicaciones de bases de datos, por ejemplo). 2. Cantidad de Uso de CPU: Existen procesos que no realizan muchas operaciones de entrada y salida, sino que usan intensivamente la unidad central de procesamiento. Por ejemplo, operaciones con matrices y clculos matemticos. 3. Procesos por lotes frente a procesos interactivos: Un proceso por lotes es ms eficiente en cuanto a la lectura de datos, ya que generalmente lo hace de archivos, mientras que un programa interactivo espera mucho tiempo (no es lo mismo el tiempo de lectura de un archivo que la velocidad en que una persona teclea datos) por las respuestas de los usuarios. 4. Procesos en Tiempo Real: Si los procesos deben dar respuesta en tiempo real se requiere que tengan prioridad para los turnos de ejecucin. 5. Longevidad de los Procesos: Existen procesos que tpicamente requerirn varias horas para finalizar su labor, mientras que existen otros que solo necesitan algunos segundos. Sistemas informticos multiusuario y en red

Pgina 27 de 42

7.4. Planificacin apropiativa o no apropiativa

Unidad Didctica III


Planificacin apropiativa o no apropiativa La planificacin apropiativa (preemptive) es aqulla en la cual, una vez que a un proceso le toca su turno de ejecucin ya no puede ser suspendido, ya no se le puede arrebatar el uso de la CPU, hasta que el proceso no lo determina no se le pasa el turno ejecucin a otro proceso. Este esquema puede ser peligroso, ya que si el proceso contiene accidental o deliberadamente ciclos infinitos, el resto de los procesos pueden quedar aplazados indefinidamente. La planificacin no apropiativa(not preemptive) es aqulla en que existe un reloj que lanza interrupciones peridicas en las cuales el planificador toma el control y se decide si el mismo proceso seguir ejecutndose o se le da su turno a otro proceso. En la planificacin no apropiativa, se pueden establecer distintos algoritmos de planificacin de ejecucin de procesos. Son algoritmos para determinar el orden de ejecucin de los procesos en el sistema:

Round Robin: Tambin llamada por turno, consiste en darle a cada proceso un intervalo de tiempo de ejecucin (llamado time slice), y cada vez que se vence ese intervalo se copia el contexto del proceso a un lugar seguro y se le da su turno a otro proceso. Los procesos estn ordenados en una cola circular. Por ejemplo, si existen tres procesos, el A, B y C, dos pasadas del planificador daran sus turnos a los procesos en el orden A, B, C, A, B, C. La ventaja de este algoritmo es su simplicidad, es justo y no provoca aplazamiento indefinido.

DEMO: Veamos el algoritmo Round Robin de la planificacin no apropiativa

Por prioridad: Los procesos de mayor prioridad se ejecutan primero. Si existen varios procesos de mayor prioridad que otros, pero entre ellos con la misma prioridad, pueden ejecutarse estos de acuerdo a su orden de llegada o por 'round robin'. La ventaja de este algoritmo es que es flexible en cuanto a permitir que ciertos procesos se ejecuten primero e, incluso, por ms tiempo. Su desventaja es que puede provocar aplazamiento indefinido en los procesos de baja prioridad. Por ejemplo, suponga que existen procesos de prioridad 20 y procesos de prioridad 10. Si durante todo el tiempo llegan procesos de prioridad 20, el efecto es que los de prioridad 10 estarn esperando por siempre. Tambin provoca que el sistema sea impredecible para los procesos de baja prioridad. El trabajo ms corto primero: Es difcil de llevar a cabo porque se requiere saber o tener una estimacin de cunto tiempo necesita el proceso para terminar. Pero si se sabe, se ejecutan primero aquellos trabajos que necesitan menos tiempo y de esta manera se obtiene el mejor tiempo de respuesta promedio para todos los procesos.

DEMO: Veamos el algoritmo SJN de la planificacin no apropiativa

El primero en llegar, primero en ejecutarse: Es muy simple, los procesos reciben su turno conforme llegan. La ventaja de este algoritmo es que es justo y no provoca aplazamiento indefinido. La desventaja es que no aprovecha ninguna caracterstica de los procesos y puede no servir para un proceso de tiempo real. Por ejemplo, el tiempo promedio de respuesta puede ser muy malo comparado con el logrado por el del trabajo ms corto primero.

Pgina 28 de 42

DEMO: Veamos otro algoritmo FIFO (Primero en llegar primero en salir)

El tiempo restante ms corto: Es parecido al del trabajo ms corto primero, pero aqu se est calculando en todo momento cunto tiempo le resta para terminar a todos los procesos, incluyendo los nuevos, y aqul que le quede menos tiempo para finalizar es escogido para ejecutarse. La ventaja es que es muy til para sistemas de tiempo compartido porque se acerca mucho al mejor tiempo de respuesta, adems de responder dinmicamente a la longevidad de los procesos; su desventaja es que provoca ms sobrecarga porque el algoritmo es ms complejo. La tasa de respuesta ms alta: Este algoritmo concede el turno de ejecucin al proceso que produzca el valor mayor de la siguiente formula:

Es decir, que dinmicamente el valor se va modificando y mejora un poco las deficiencias del algoritmo del trabajo ms corto primero. Sistemas informticos multiusuario y en red

Pgina 29 de 42

8. Gestin de la memoria

Unidad Didctica III


Gestin de la memoria
Jess comenta a Vctor que cada sistema operativo utiliza el hardware del ordenador de forma diferente y que una de las cosas ms importantes es la asignacin adecuada de memoria a cada uno de los procesos. Vctor le dice que eso a l no le interesa, ya que se trata de algo que hace el ordenador de forma interna y automtica, y sobre la que no tenemos modo alguno de intervenir. Jess le dice que se equivoca, que efectivamente hay sistemas como Linux que nos permiten intervenir de forma sencilla y sin peligro para el sistema, sobre los procesos en ejecucin (o en cola de ejecucin), y que l se ha visto en situaciones en las que ha tenido que liberar la memoria de un proceso para impedir que una aplicacin bloquee el sistema. Por ejemplo una ocasin en la que un amigo le envi una imagen tan grande que necesitaba varios minutos para visualizarla, en aquel caso decidi que le interesaba ms visitar a su amigo para ver la imagen y decidi interrumpir el proceso de cargar en memoria, de lo contrario tendra que haber reiniciado el ordenador, porque probablemente le habra faltado memoria RAM.

Ya hemos estudiado el control y gestin de procesos. Pero si se pretende que un proceso pueda ejecutarse es necesario que ste sea cargado en memoria principal, ya que ningn proceso se puede activar antes de que se le asigne el espacio de memoria que requiere. Por lo tanto, la memoria ser otro recurso que el sistema operativo tendr que gestionar y el elemento que se encargar de ello recibe el nombre de gestor de memoria. La misin del gestor de memoria es la de asignar memoria principal a los procesos que la soliciten. Entre otras cosas tendr que:

llevar el control de las zonas que estn en uso y cules no, asignar memoria a los procesos cuando la necesiten y retirrsela cuando terminen, tendr que establecer mecanismos para que un proceso no invada la memoria asignada a otro proceso, administrar el intercambio entre memoria principal y memoria secundaria cuando la memoria central sea insuficiente, etc.

Por tanto, podemos decir que los principales objetivos de la gestin de la memoria son: 1. Reubicacin: Consiste en decidir en qu zona de la memoria se ubicar un proceso y cmo se gestionar la posibilidad de que un proceso cambie de zona de memoria asignada. 2. Control de memoria: El sistema operativo tiene que llevar un control de las zonas de memoria libres y de las zonas de memoria asignadas, as como conocer a qu proceso pertenece cada una de las zonas de memoria asignadas. Adems, tiene que ser capaz de gestionar esta asignacin de memoria, de tal manera que proporcionen memoria a los procesos que lo necesiten y se la retire cuando stos hayan terminado. 3. Proteccin: Cuando hay varios procesos en memoria simultneamente, cada uno estar ubicado

Pgina 30 de 42

en una posicin de memoria distinta. El sistema operativo tiene que conseguir que la zona de memoria asignada a un proceso no sea accedida ni alterada por los dems. Para conseguir esto, cada vez que un proceso vaya a realizar una operacin tendr que chequear que sta no acceda a una zona prohibida de la memoria; es decir, a una zona de memoria ya asignada a otro proceso. 4. Utilizacin de dos niveles de memoria: En muchas ocasiones la memoria principal no es suficiente para proporcionar toda la memoria que necesita un proceso o para almacenar todos los procesos que se pueden ejecutar. En esos casos el sistema operativo puede apoyarse en la memoria secundaria para saciar todas las necesidades de memoria que tienen los procesos. Por tanto, tendr que proporcionar los medios para que esto sea posible y tendr que encargarse de gestionar la transferencia de informacin entre la memoria principal y la secundaria. El sistema de gestin de la memoria que se use depender del ordenador y sistema operativo en particular que se tenga. Si el sistema es monotarea se pueden considerar tcnicas sencillas de gestin de la memoria, puesto que slo se tiene un proceso cargado en la memoria. Para sistemas multitarea la gestin se complica, ya que se necesitan tener varios procesos cargados en la memoria simultneamente, con sus propias estructuras de datos. AUTOEVALUACIN Un proceso: a) Puede ejecutarse sin estar en memoria b) Necesita que le asignen memoria para poder ejecutarse c) No podr intercambiarse entre la memoria principal y la secundaria mientras se ejecuta d) Podr compartir el mismo espacio de memoria con otro proceso en ejecucin

Para saber ms: Has comprobado que el tema de gestin de memoria es bastante complicado y admite muchas tcnicas y enfoques diferentes. En el siguiente enlace se aclaran muchos de los conceptos anteriores con ejemplos grficos que te ayudarn a comprender la materia de estudio. Gestin de memoria [Versin en cach]

Sistemas informticos multiusuario y en red

Pgina 31 de 42

9. Gestin de memoria en sistemas operativos monotarea

Unidad Didctica III


Gestin de memoria en sistemas operativos monotarea
Vctor recuerda cmo Enrique le explicaba la gestin de memoria que utilizaban antes los programadores en los sistemas monotarea. Ya que cuando se ejecutaba una aplicacin sta tomaba todo el control sobre la memoria y si ocurran errores se vean obligados a apagar la mquina y volver a encenderla.

En un principio, en los comienzos de los sistemas operativos, stos no incluan ningn gestor de memoria y el programador tena un control completo sobre el espacio total de memoria. Pero, como puede suponerse, esto era una tarea extremadamente complicada. El esquema ms sencillo de gestin de memoria es aqul en el que, en cada instante, slo se tiene un proceso en memoria. En este esquema hace falta un mecanismo de proteccin para que resulte imposible el acceso a la zona de memoria destinada al sistema operativo por parte del proceso de usuario que se est ejecutando. Sistemas informticos multiusuario y en red

Pgina 32 de 42

10. Gestin de memoria en sistemas operativos multitarea

Unidad Didctica III


Gestin de memoria en sistemas operativos multitarea
Vctor piensa lo difcil que lo tenan los primeros informticos y lo que les debemos los que ahora nos dedicamos a esto. Piensa que podemos estar contentos ahora con lo que tenemos, aunque probablemente esto seguir evolucionando y dentro de otros treinta aos pensarn lo mismo de nosotros. Recuerda que al principio empez con un ordenador que le dio un primo suyo que funcionaba con el sistema operativo Windows 3.11. Era un sistema muy sencillo y tard poco en aprender a usarlo con soltura, incluso se podra decir que lo dominaba casi por completo. Poco despus empezaron a salir las versiones ms nuevas de este sistema operativo en las que pareca que todo cambiaba totalmente y el esfuerzo que le supuso dejar el sistema que dominaba por los nuevos que funcionaban mejor. Ahora comprende que la mayora de los cambios que se producen en los sistemas son a causa de conseguir una mejor gestin de la memoria y aprovechar al mximo el rendimiento del ordenador. Pero parece que esto no va a acabar nunca, espera que los expertos den pronto con la configuracin ptima. Actualmente la mayora de los sistemas operativos son sistemas multitarea, en los que va a haber varios procesos simultneamente en ejecucin. Para que esto sea posible, todos estos procesos debern estar tambin simultneamente en memoria, pues sta es una condicin necesaria para que un proceso pueda ejecutarse. Por tanto, deber haber mecanismos de gestin para distribuir la memoria principal entre todos estos procesos que quieren ejecutarse.

Sistemas informticos multiusuario y en red

Pgina 33 de 42

10.1. Intercambio o swapping

Unidad Didctica III


Intercambio o swapping Como hemos comentado, en los sistemas multitarea habr varios procesos en memoria principal. Sin embargo puede suceder que haya ms procesos de los que caben en memoria y no haya memoria principal disponible para todos. En esos casos algunos de esos procesos se almacenan en disco, para posteriormente recuperarlos. El intercambio o swapping hace referencia a las operaciones de eliminar de la memoria principal procesos suspendidos, llevarlos al disco y cargar del disco a memoria principal procesos para su ejecucin. La memoria en disco que el sistema operativo reserva para almacenar estos procesos suspendidos recibe el nombre de espacio de intercambio o espacio de swapping y siempre va a almacenar procesos completos que se han retirado completamente de memoria.

Sistemas informticos multiusuario y en red

Pgina 34 de 42

10.2. Asignacin con particiones fijas

Unidad Didctica III


Asignacin con particiones fijas Una manera de gestionar la memoria principal cuando hay varios procesos, y quizs la ms fcil, consiste en dividir lgicamente (por software) la memoria fsica en varias particiones de igual o diferente tamao y asignar cada una de ellas a un proceso. La gestin de la memoria con particiones fijas supone que la divisin de sta se ha realizado con anterioridad al comienzo de la ejecucin de los procesos. Las particiones, una vez hechas por el sistema operativo, se mantienen fijas tanto en nmero como en tamao. En lneas generales, la forma de gestin y asignacin de la memoria se puede resumir de la siguiente forma: 1. Cuando llega una tarea, sta se pone en una cola de tareas. 2. El intercambiador tiene en cuenta los requerimientos de memoria de cada una de ellas y las particiones disponibles. 3. Si una tarea tiene espacio disponible en memoria, se ubica (o reubica) en una particin y puede competir por el uso de la CPU. 4. Cuando se termina una tarea, se libera la particin de memoria que ocupa, pudiendo el intercambiador asignar esta particin a otra tarea de la cola de tareas. La gestin y asignacin de particiones a los procesos se puede hacer siguiendo dos tipos de organizacin:

Tener una cola por particin.

Se tiene unacolapor cada particin y se coloca cada trabajo en la cola de la particin ms pequea en que quepa dicho trabajo, a fin de desperdiciar el menor espacio posible. La planificacin de cada cola se hace por separado y, como cada cola tiene su propia particin, no hay competencia entre las colas por la memoria. La desventaja de este mtodo se hace evidente cuando la cola de una particin grande est vaca y la cola de una particin pequea est llena.

Tener una nica cola comn a todas las particiones.

Se tiene una nica cola comn para todas las particiones. El sistema operativo decidir en que particin se ubica cada proceso. En funcin de la disponibilidad de particiones y las necesidades del proceso en cuestin.

Pgina 35 de 42

Tanto si se adopta la estrategia de tener una cola por particin como si se adopta la estrategia de tener una cola comn para todas las particiones, tendr que haber mecanismos para proteger a un proceso de los dems; es decir, impedir que un proceso pueda acceder a una zona de memoria que est fuera de la memoria correspondiente a la particin en la que se encuentra. Otro problema que aparece cuando se gestiona la memoria con particiones fijas es el de la fragmentacin, la cual se produce, en general, cuando en la memoria hay reas ocupadas intercaladas con reas libres; es decir, cuando no hay una nica rea ocupada ni una nica rea libre. Sistemas informticos multiusuario y en red

Pgina 36 de 42

10.3. Asignacin con particiones variables

Unidad Didctica III


Asignacin con particiones variables La asignacin de memoria con particiones fijas tiene el inconveniente de que hay que determinar muy bien el tamao de las particiones. La solucin a este problema est en permitir que los tamaos de las particiones varen dinmicamente.

Este mtodo de gestin de memoria se conoce con el nombre de asignacin de la memoria con particiones variables. Este mecanismo se ajusta a la realidad de que el nmero y tamao de los procesos vara dinmicamente y, por tanto, lo lgico es que el nmero, posicin y tamao de las particiones tambin lo haga. No se est sujeto a un nmero fijo de particiones que pudieran ser muy grandes o demasiado pequeas, con lo que se consigue un mejor uso de la memoria aunque a costa de una mayor complejidad.

Para poder manejar correctamente la asignacin de memoria con particiones variables, el sistema operativo tiene que llevar el control de qu partes de la memoria estn disponibles o libres (huecos) y qu partes estn ocupadas. Inicialmente, toda la memoria est disponible y se considera como un gran bloque libre. El procedimiento que se sigue para manejar y gestionar la memoria es el siguiente: 1. Cuando llega un proceso y precisa memoria se busca un hueco libre suficientemente grande para l. Si se encuentra uno, se le asigna slo la memoria que sea necesaria, manteniendo el resto disponible para satisfacer futuras solicitudes. Es decir, si el bloque que se le va a asignar es mayor de lo que necesita el proceso, se parte en dos: uno se asigna al proceso que llega y el otro se devuelve al conjunto de bloques libres. 2. Cuando un proceso acaba, libera su bloque de memoria, que se devuelve entonces al conjunto

Pgina 37 de 42

de huecos. Si el nuevo hueco es adyacente a otros, se fusionan para formar un hueco mayor. Sistemas informticos multiusuario y en red

Pgina 38 de 42

11. Paginacin

Unidad Didctica III


Paginacin
Jess explicando a Vctor las virtudes de Linux respecto a Windows, le comenta que un mecanismo de gestin de memoria que utilizan ambos sistemas operativos es el de la paginacin. Pero en seguida nota que Vctor hace una gesto de no enterarse de lo que le est hablando. El problema ms grave que se produce en los sistemas de gestin de memoria anteriores es la fragmentacin externa, presente en ambos. Generalmente, esta situacin se produce cuando la memoria disponible no es contigua, sino que est fragmentada en muchos bloques repartidos a lo largo del espacio de direcciones. Como la memoria asignada a un proceso en particular tiene que ser contigua, esta memoria que est libre, pero al mismo tiempo dispersa, no se puede usar. Este problema tiene como solucin la paginacin, que es un mecanismo de organizacin y asignacinde la memoria que permite que la memoria asignada a un proceso no tenga por qu ser contigua, de forma que siempre que se disponga de espacio, aunque ste no sea adyacente, se pueda asignar al proceso. Jess le aclara que es una forma de repartir la memoria principal entre los procesos que se ejecutan en cada momento, con el fin de optimizar la multitarea del sistema. Contina...

Bsicamente, en un sistema de memoria con paginacin, la memoria fsica se divide conceptualmente en un nmero de bloques de tamaos fijos, denominados marcos de pgina. Por otra parte, el espacio de direcciones lgico de un proceso (es decir, todas las posibles direcciones que puede generar el proceso) tambin se divide en bloques de tamao fijo, llamados pginas, que son del mismo tamao que los marcos de pgina.

Entonces, la asignacin de memoria consiste en encontrar un nmero suficiente de marcos de pgina sin usar para cargar las pginas del proceso que est solicitando cargarse en memoria. Como cada pgina se asigna a un marco por separado, no es necesario que estos marcos de pgina asignados a un proceso se encuentren situados en zonas contiguas de la memoria fsica.

Vctor perplejo le pregunta que a l qu le interesa eso, si lo hace el ordenador sin intervencin del usuario, no cree que deba perder el tiempo en esas cosas. Jess le responde que debe conocer estas cosas y cmo las hace cada uno de los sistemas operativos, para tener su propio criterio sobre sus preferencias. Aade que por este tipo de cosas Linux es su sistema preferido y que eso lo hace ms eficiente. Vctor piensa que si Mara estuviera delante seguramente le rebatira esos argumentos.

Pgina 39 de 42

Resumiendo,

cuando se quiere cargar un proceso en memoria, se examina su tamao, el cual se expresa en pginas. entonces se examina la memoria disponible, que se mantiene en forma de lista de marcos de pginas libres. si el trabajo requiere x pginas, tiene que haber x marcos de pgina disponibles en memoria para poder almacenar el proceso. si las hay, se cargar el proceso en esos marcos de pgina, se marcarn los marcos como ocupados y se crear la tabla de pginas para ese proceso. si no haba marcos suficientes para el proceso, ste tendr que esperar a qu los haya.

Sistemas informticos multiusuario y en red

Pgina 40 de 42

12. La memoria virtual

Unidad Didctica III


La memoria virtual
Jess sigue entusiasmado con sus argumentaciones sobre las bondades de Linux y cita la gestin de la memoria virtual que hace para ejecutar determinados procesos complejos. Vctor le interrumpe y dice que eso de la memoria virtual s lo ha utilizado l, que es algo muy habitual cuando quieres cargar un juego, especialmente aquellos con los mejores grficos. Esos juegos requieren una memoria principal que habitualmente no tiene ningn equipo, por lo que es preciso hacer uso de una ampliacin de la memoria con espacio de disco que simule una RAM mucho ms grande de lo que tenemos en realidad. Jess se sorprende de que Vctor entienda este concepto. Hasta ahora se ha supuesto que el tamao de los procesos siempre es menor que el tamao de la memoria fsica, de tal manera que los procesos que se cargan en memoria lo hacen en su totalidad. La idea de permitir la ejecucin de procesos que puedan no estar cargados completamente en memoria, e incluso que sus tamaos superen a la memoria fsica disponible, da lugar al concepto de memoria virtual. Este concepto es aplicable tanto en sistemas monotarea como multitarea. En los sistemas multitarea, si cada usuario necesita menos memoria para ejecutar sus procesos, porque ya no hace falta que stos se almacenen enteros en memoria, podr haber ms al mismo tiempo. En esencia, la memoria virtual es un sistema de gestin de la memoria que permite que el espacio de direcciones lgicas (ahora llamadas virtuales) de un proceso activo sea mayor que la memoria fsica disponible. El sistema operativo se encarga de mantener en la memoria principal aquella parte del proceso que se utiliza en cada momento mientras que el resto permanece en disco y se encarga de ir trasladando a memoria las partes del proceso que se vayan necesitando. Por tanto, esta tcnica considera a la memoria secundaria como una extensin de la memoria principal, consiguiendo as que el tamao de sta no sea un obstculo a la hora de cargar procesos, pues stos podrn ser cargados y ejecutados por partes.

Pgina 41 de 42

AUTOEVALUACIN En un sistema de memoria virtual: a) los procesos pueden ocupar ms memoria de que hay realmente en la memoria principal b) el nmero de procesos en ejecucin est limitado por los que quepan en la memoria principal c) toda la memoria secundaria se utiliza como memoria principal d) ninguna de las anteriores respuestas es correcta

Sistemas informticos multiusuario y en red

Pgina 42 de 42

Das könnte Ihnen auch gefallen