You are on page 1of 11

Programacin de Sistemas Operativos

memoria y dispositivos de E/S

Unidad 1 Evidencia de Aprendizaje.

Administracin del procesador

Elabora un cuadro sinptico en el que integres los conceptos bsicos del cmo interacta el Sistema Operativo con los dispositivos de E/S y la administracin del procesador de memoria. Primer Componente Procesador
El procesador es el encargado de procesar los datos que estn almacenados en una computadora para producir cualquier tipo de informacin de inters para los usuarios. Est formado por planificadores en los cuales se decide que se va a ejecutar primero y que se ejecuta despus, adems de que le va a dar respuesta de manera inmediata y que puede esperar, todo esto con la finalidad de optimizar varios puntos tales como: velocidad en respuesta, certeza, excelencia en respuesta, etc., entendiendo as a los planificadores como las partes lgicas del procesador que analizan los datos recibidos y toman decisiones de respuesta en cuanto velocidad y prioridad.

a largo plazo
En este, el procesador decide el orden de ejecucin con una adecuada organizacin de los recursos para que el trabajo se ejecute de forma ordenada y eficiente segn el modo de procesamiento.

Planificadores a mediano plazo


Este planificador es responsable de cargar y descargar trabajos desde el disco a la memoria y de la memoria al disco considerando el grado de sobrecarga del sistema.

a Corto plazo
Es quien decide cundo, cmo y por cunto tiempo recibe el procesador un proceso que est preparado para ejecutar.

Segundo componente Memoria La principal necesidad para cualquier sistema operativo es el que la memoria sea rpida para que al ejecutar una instruccin el CPU o procesador, no se vea afectado por la memoria de bajo rendimiento. La memoria en un sistema operativo puede llegar a ser un recurso muy importante el cual se debe administrarse con cuidado. La memoria principal puede ser considerada como un arreglo lineal de localidades de almacenamiento de un byte de tamao, cada localidad de almacenamiento tiene asignada una direccin que la identifica. La memoria principal es el lugar donde el CPU registra las instrucciones que se van a ejecutar, as como algunos datos a emplear, una de las funciones bsicas que debe implementar un Sistema Operativo es la administracin de la memoria para tener un control sobre los lugares donde estn almacenados los procesos y datos que actualmente se estn utilizando. Administracin de la memoria

Tercer Componente Dispositivos E/S


Dentro de un sistema operativo, la memoria no es el nico recurso que debe administrarse, los dispositivos de Entrada/Salida tambin interactan con el sistema operativo y por lo regular constan de dos partes:

Tarjeta Control.
La tarjeta controladora es un chip o un conjunto de chips montados en una tarjeta insertable, que controla fsicamente al dispositivo. Dicha controladora acepta comandos del sistema operativo y los ejecuta.

Dispositivos en si
Los dispositivos tienen interfaces relativamente simples, debido a que no tienen mucha capacidad para estandarizarlos, esto ltimo es necesario para que cualquier controladora de disco IDE pueda manejar cualquier disco IDE.

Un microprocesador se divide en dos componentes bsicos: Unidad Lgica/aritmtica Unidad de control (CU) (ALU)

Administracin de dispositivos E/S


La administracin de dispositivos de Entrada /Salida, resulta ser un tema muy amplio en el diseo de los sistemas operativos, se la entrada / salida (E/S), una amplia variedad de dispositivos y sus variadas dispositivos y sus diversidad de aplicaciones. Una de las principales funciones de la administracin de dispositivos es el controlar todos los dispositivos de E/S,

La administracin de la memoria para un sistema multiproceso, se debe tener cuidado en la gestin de Realiza operaciones aritmticas y Extrae instrucciones de la memoria, las este recurso, ya que se puede determinar el estado lgicas, dadas a travs de descifra y ejecuta, llamando a la ALU del procesador dependiendo de la cantidad de microprogramacin. cuando es necesario, sincroniza todas procesos que se estn ejecutando. La memoria las operaciones de reas de almacenamiento principal llamadas principal es la parte donde se ejecutan los programas NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

Programacin de Sistemas Operativos


memoria y dispositivos de E/S

Unidad 1 Evidencia de Aprendizaje.

Administracin del procesador

registros y memoria cach. Necesita para su funcionamiento de ciertas reas de almacenamiento y que son de dimensiones mnimas; sin embargo, tienen la ventaja de su rapidez. Comparados con los accesos a RAM, los registros son como mnimo 10 veces ms veloces. Existen 4 registros : AX BX CX DX

Nombrado Conocido como Es el contador, las Registro de acumulador; registro base, instrucciones que se datos multiuso, contiene el comnmente la realizan durante un se utiliza en operador que tarea de este proceso dentro del operaciones de interviene en registro se basa sistema operativo multiplicacin y las operaciones en identificar la conocidas como divisin junto aritmticas y direccin o ndice bucle (LOOP) con AX, su lgicas. En de cada registro utilizan este registro aplicacin suele general las dentro de una como contador de n estar dentro de instrucciones tabla de valores veces que un ciclo operaciones de que trabajan para su repite dentro de un entrada/salida con este direccionamiento. proceso. de puertos registro tienen IN/OUT. un micro cdigo ms simple que la misma instruccin ejecutada con otro registro. Los registros de segmento son utilizados para integrar las direcciones de otros segmentos, para su aplicacin en conjunto con otros registros que sealan las direcciones concretas dentro de estos segmentos, lo cual permite la gestin total de la memoria direccional, y para estos segmentos bsicamente se contemplan 4 tipos:

y procesos, este est definido por el espacio disponible para que se puedan ejecutar los procesos. La administracin de la memoria es la encargada de gestionar la jerarqua de los procesos que se ejecutan dentro de la misma, su principal funcin es el determinar que partes de la memoria real estn en uso y que partes estn libres, tambin asigna memoria a los procesos cuando la necesitan recuperar y cuando termina adems controla el intercambio entre la memoria principal y el disco cuando la primera es demasiado pequea.

el sistema operativo debe enviar comandos a los dispositivos, atender las interrupciones y gestionar los errores que se generan. Los dispositivos externos de E/S que interactan con las computadoras pueden clasificarse en las siguientes categoras:

Dispositivos Fsicos para humanos


Este tipo de dispositivos son propiamente para establecer la comunicacin computadorausuario. Unos de los principales ejemplos se tienen. Teclado, mouse, pantalla, terminar de lector laser, etc.

Para Mquina
Los dispositivos para mquina son los que se utilizan para comunicar las partes electrnicas entre computadorasistema, como discos, tarjetas de video, controladores.

De caracteres
Estos dispositivos proporcionan o acepta un flujo de caracteres, sin tener en cuenta ninguna estructura de bloque. Comnmente este tipo de dispositivos son los que se conocen como manejadores de los dispositivos como son los Driver o controladores.

Intercambio y paginacin

No intercambio ni paginacin

De cdigo CS Apunta la ubicacin del segmento de cdigo del programa el cual se est

De Datos DS Seala la ubicacin del segmento de datos del programa en ejecucin.

De Pila SS Apunta la ubicacin del segmento donde est la pila del programa en ejecucin.

Extra ES Es un segmento auxiliar, es utilizado para indicar la existencia de espacio extra de

El intercambio y la paginacin son utilizados como una tcnica para las situaciones causadas memoria principal escasa para mantener todos los programas al mismo tiempo. Esto reduce el costo de la memoria principal y aumenta el

La mono programacin que no tiene intercambio ni paginacin, es un esquema ms simple y tiene la posibilidad de ejecutar solo un programa a la vez, compartiendo la memoria

Cada dispositivo tiene sus propias caractersticas de acuerdo a su clasificacin de pertenencia, cada una de estas diferencias bsicamente se enfoca en la velocidad de los datos, por lo que es muy posible una gran diferencia de varios datos de transmisin. Las

NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

Programacin de Sistemas Operativos


memoria y dispositivos de E/S
ejecutando en ese instante.

Unidad 1 Evidencia de Aprendizaje.

Administracin del procesador

algunos de los segmentos anteriores, es til tambin para guardar de forma temporal las direcciones intermedias entre segmentos. Los registros de puntero estn destinados a contener direcciones que son desplazamientos dentro de los segmentos indicados por los registros de segmento.

rendimiento del procesador, comnmente es conveniente el replantear la administracin de la memoria a medida que el sistema tenga mayor crecimiento, pues esto implica que la memoria u otro pueden hacerse obsoletos, ya que los sistemas crecen con mayor rapidez que las memorias.

entre el programa y el sistema operativo. Permite ejecutar solo un proceso a la vez, para que sea copiado a memoria y se ejecute. Al finalizar el proceso en el sistema operativo deber mostrar un indicativo que muestre que est a la espera de un nuevo comando, as entonces el sistema operativo recibe este nuevo comando para cargar el nuevo programa en memoria sobrescribiendo el anterior.

aplicaciones son tambin una de las diferencias de los dispositivos, pues por lo general cada tipo de dispositivo necesita su propio software que ser de utilidad para el sistema operativo poder gestionar el dispositivo, la complejidad del control es necesario poder contar con la interfaz de control al dispositivo. Principios de hardware y software de I / O

Puntero de instruccin IP y Puntero de Pila SP Puntero base BP contador de programa PC Establece la direccin Seala la ubicacin final de Seala el de la instruccin e la pila dentro del segmento desplazamiento donde indican el de pila SS. se encuentra el origen desplazamiento de la de la zona ocupada por instruccin siguiente las variables dinmicas. a ejecutar que ubica dentro del segmento CS. Tambin, dentro de los registros se encuentra uno especial llamado registro de estado (FLAGS), es un indicar del estado del procesador y el resultado de algunas operaciones, ya que su funcin se basa en el manejo de bits que actan como semforo.

Tcnicas para la administracin de la memoria


Multiprogramaci n Particio nes fijas Particio nes variable s Segmenta cin Paginac in Administracin de memoria Mapa s de bits Listas enlazad as

Es muy comn el tener diferentes perspectivas respecto al hardware y software de E/S, dependiendo el tipo de manejo que se realice de forma directa con los dispositivos ser el punto de vista que se tenga referente hacia este trmino, resulta que un programador no tendr el mismo punto de vista que un ingeniero en electrnica de dispositivos de E/S. Uno lo ve como la parte fsica tangible que puede interactuar con la mquina, y un programador es quien disea esa parte intangible pero es la relacin tarjeta maquina. Los dispositivos de E/S se pueden dividir en dos grandes grupos:

Estas tcnicas de administracin de memoria, por la capacidad de procesamiento obligan muchas veces a modificar la arquitectura computador para obtener el rendimiento deseado a partir del nuevo hardware.

Dispositivos por bloques.


Es el encargado de almacenar la informacin en bloques de tamao fijo, cada uno de ellos deber contar con su propia direccin.

Dispositivos por caracteres.


Este tipo de dispositivo es el que se encarga de proveer y aceptar una serie de caracteres que son convertidos en corriente elctrica, este tipo de dispositivos no considera la estructura de bloque que contempla el anterior tipo de

Procesos e hilos
Puede considerarse como definicin de un proceso, a la ejecucin de un programa dentro de un sistema operativo el cual puede necesitar de ciertos recursos determinantes para su ejecucin tales como: Tiempo de CPU, archivos de Entrada/salida, dispositivos de _entrada/salida, y memoria principalmente, todos los recursos que utiliza se asignan al proceso en el momento de que es creado o bien al momentos de ser ejecutado. Cabe mencionar que cada uno los procesos puede tener su propia CPU virtual. Una

Jerarqua de la Memoria La jerarqua de memoria sirve para organizar de forma incremental de pirmide o niveles, el principal funcin de este mtodo es conseguir el rendimiento aumentar la velocidad al costo de una memoria simple. Los niveles que comnmente conforman la jerarqua

NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

Programacin de Sistemas Operativos


memoria y dispositivos de E/S

Unidad 1 Evidencia de Aprendizaje.

Administracin del procesador

gran mayora de los sistemas, los procesos suelen ser la determinante para la realizacin de los trabajos. Cada sistema contiene sus propios procesos, y se dividen en:

de la memoria son:

Procesos del sistema operativo


Que son los encargados de ejecutar el cdigo del sistema

Nivel 2 Nivel 3 Memori de Nivel 4 Procesos de usuarios a Disco Virtual princip Duro al Encargados de ejecutar el cdigo del As pues lo que se busca con la jerarqua de la usuario, por lo tantos estos procesos se memoria es establecer una determinante para la pueden ejecutar de manera simultnea para la realizacin de tareas administracin de la memoria. Nivel 0 de registro s Nivel 1 de Memori a Cache
interactivas. Proceso Un proceso es una entidad activa, la cual contiene las instrucciones que se deben ejecutar y un conjunto de recursos asociados a los registro del CPU para su funcionamiento.

Programa Un programa por su estructura propia no es un proceso ya que es una entidad pasiva por ejemplo un archivo lleva incluido una cantidad de instrucciones que se almacenan en disco.

Multiprogramacin con particiones fijas y variables Fijas Variables


Existe otro esquema para la administracin de la memoria que permite la ejecucin de mltiples procesos en un mismo tiempo, este esquema es conocido por multiprogramacin con particiones fijas. En los sistemas con tiempo compartido para los procesos resulta que este si se encuentra bloqueado en espera de que finalice una E/S, otro proceso podr utilizar la CPU. As se incrementa el rendimiento tanto de la memoria como del CPU, una posibilidad de lograr la multiprogramacin consiste en dividir la memoria en n particiones ya sea homognea o desigual. A la llegada de algn proceso, se podr El funcionamiento de un sistema con particiones variables los primeros o el primer proceso se cargan en la memoria creando la particin, para dar seguimiento a los dems procesos creando las particiones en la memoria de acuerdo a la necesidad del proceso y liberndola al trmino de cada proceso cargado.

Un programa se convierte en proceso al cargarse en memoria, lo cual lo convierte en archivo ejecutable.

Durante el bloqueo de control de procesos en un sistema operativo, es representado mediante un bloque de control de procesos. Un bloque puede integrar algunos de los elementos de informacin que especifiquen el estado de un proceso, algunos de estos elementos se tiene:
Estado del proceso En este estatus el proceso puede tomar la forma bsica de Contado r de program a El contador de program a identific a la ubicaci Registros en CPU Los diferente s registro que se pueden utilizar para el proceso Estado y planificacin de CPU La planificacin de CPU establece que proceso tiene mayor prioridad para el buen Administrac in de memoria Muestra la valor de los registros, tablar de pginas y de segmentos. Informaci n contable Este elemento contiene la cantidad de CPU de tiempo Estado de E/S Este elemento muestra la lista de los dispositiv os de E/S asignado

dispositivos, tampoco tiene la posibilidad de ser direccionable ni puede realizar la bsqueda. Existen varios dispositivos que no se contemplan este tipo de clasificacin pues por lo general no se pueden ajustar a esta clasificacin. Un ejemplo claro de ello, son los relojes este tipo de dispositivos no estn considerados como dispositivos por bloques ni tampoco como dispositivos por caracteres, su funcin principal de los relojes consiste en suministrar interrupciones a intervalos que ya estn definidos. En lo que respecta al software el principal objetivo de este dispositivo de E/S, es prcticamente sencillo de plantear, pues se debe organizar el software mediante capas que puedan ser utilizadas para establecer la prioridad del hardware, para que las superiores sean las encargadas de establecer la interfaz con el sistema lo cual ayuda a comunicar de forma ms gil el dispositivo sistema. En el mbito de software, existe un concepto clave para poder disear el software de E/S, llamado independencia del dispositivo. El cual tiene la utilidad de que los programas puedan interactuar entre dispositivo hardware y dispositivo software, para que esto pueda funcionar el sistema operativo deber tener la facilidad de resolver los problemas causados por las diferencias de dispositivos. Los errores que se manejan dentro del software de E/S, se deben manejar lo ms cercano posible del hardware. Cuando el controlador descubre un error de lectura deber tratar de corregirlo, de lo contrario el sistema operativo es quien podra tratar de corregirlo. Muchas ocasiones los errores son transitorios al momento de la lectura de E/S, y estos por lo general se solucionan reiniciando el proceso de lectura de cada dispositivo. Uno de los aspectos claves es cuando ocurre la transferencia, ya puede ser por bloqueo o controladas por interrupciones. El dispositivo de E/S fsico es por lo general asncrona, tal como la CPU que inicia la transferencia y se libera mientras est a la espera de una nueva interrupcin. Los programas por lo general resultan ser sncronas, despus del comando de lectura,

NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

Programacin de Sistemas Operativos


memoria y dispositivos de E/S
inicio, nuevo, listo, ejecutan do, en espera, detenido, finalizado , etc. n de la siguient e instrucci n que se ejecutar a por el proceso dependen del tipo y nmero as como de la arquitect ura del CPU, para estos registros se incluyen los ya tratados en tema anterior.

Unidad 1 Evidencia de Aprendizaje.


funcionamie nto y manejo de recursos. real emplead o, lmites de tiempo asignado s y nmeros de cuenta.

Administracin del procesador

s al proceso.

colocar en la cola de entrada de la particin pequea que puede contener, ya que las particiones estn fijas, pero si por algn motivo el proceso no utilizo alguna de las particiones esta ser desperdiciada.

el programa se detiene hasta la disponibilidad de datos. Los dispositivos de uso exclusivo y no exclusivo, son utilizados por lo general al mismo tiempo ya que no existen conflictos de mantener abiertos varios archivos en el disco al mismo tiempo. Las unidades de cinta es un ejemplo de dispositivos exclusivo ya que solo un proceso de lectura puede estar activo a la vez.

Hilos Durante un proceso tradicional la existencia de hilos de control, que representa a una actividad, en un proceso tradicional puede existir un solo hilo de control y un solo contador de programa en cada proceso. Sin embargo, algunos sistemas operativos modernos manejan mltiples hilos de control dentro de un proceso. hilos simples Cada proceso tiene su propio espacio de direcciones y un solo hilo de control. Cada uno de ellos opera en un espacio de direcciones distinto, No es muy conveniente ya que todos los hilos no comparten el mismo espacio de direcciones y cach de memoria. Algunos de los sistemas operativos, anteriormente no utilizaban estos procesos y los hilos se manejaban de forma simple de pilas. La principal desventaja que se tena con este mtodo, si el hilo se bloqueaba el proceso quedara inconcluso. mltiples hilos Un solo proceso con varios hilos de control. Los hilos comparten el mismo espacio de direcciones. Cuando una solicitud es procesada es entregada a un hilo, si este hilo se bloquea, los dems hilos pueden continuar ejecutndose de manera que se podrn realizar nuevas solicitudes ya sea inclusive de E/S de disco. Esta forma de hilos mltiples tiene la ventaja que cuando un hilo se bloque, el sistema operativo selecciona el hilo que se ejecutar enseguida ya sea para el mismo proceso o un proceso distinto. Para realiza la planificacin, el kernel deber saber la existencia de la tabla de hilos que relacione los hilos del sistema.

Dentro del desarrollo para los sistemas de tiempo compartido, la situacin se torna de forma distinta para la multiprogramacin de particiones variables. La desventaja de este mtodo consiste en que en muchas ocasiones no existir la cantidad suficiente de memoria principal para almacenar todos los procesos que se encuentren activos. Se podr utilizar la administracin de memoria, dependiendo del hardware disponible. Existen dos estrategias para este mtodo una se utiliza para buscar y cargar en la memoria cada proceso en su totalidad par que se pueda ejecutar durante el tiempo que sea necesario para que despus se pueda colocar de nueva cuenta sobre el disco, a esta estrategia comnmente se le conoce como llamadas de intercambio. La segunda

Para la asignacin de memoria que se muestra en la imagen anterior, se puede observar que mientras los procesos entran en memoria y salen el espacio se libera para dejarlo listo para el siguiente proceso que se mande llamar. El tamao de estas particiones puede variar, tiene la flexibilidad de no estar limitado a la cantidad de particiones fijas establecidas para la asignacin de procesos.

Dispositivos y manejadores de dispositivos


Los dispositivos juegan un papel muy importante en el desarrollo de sistemas operativos pues sirven para introducir datos, estos datos se leern por los dispositivos de entrada y se almacenan en la memoria principal. Los dispositivos de E/S se pueden agrupar en tres categoras:

Dispositivos legibles para los usuarios


Son aquellos dispositivos que permiten la comunicacin entre los usuarios y la computadora. Dentro de este grupo se incluyen todos los dispositivos que sirven para proporcionar interfaz con el

Dispositivos de almacenami ento


Son utilizados para abastecer el almacenamiento no voltil de datos y memoria. Su principal funcin consiste en proveer los datos y almacenar en los programas que se ejecutan en la CPU.

Dispositivos de comunicacio nes


Permiten conectar a la computadora con otras computadoras a travs de una red. Los dos tipos de dispositivos ms importantes de esta clase son los mdem, para comunicacin va red telefnica, y

NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

Programacin de Sistemas Operativos


memoria y dispositivos de E/S

Unidad 1 Evidencia de Aprendizaje.

Administracin del procesador

estrategia conocida como me memoria virtual, permite ejecutar a los programas a pesar de que estos se encuentren parcialmente en memoria principal.

La diferencia entre un hilo simple e hilo mltiple, consiste en el rendimiento que vara de forma significante uno del otro. La modificacin de hilos es ms gil cuando la administracin de hilos se realiza en el espacio de usuario que cuando se realiza una llamada al kernel. Ya sea que los hilos se puedan administrar por el kernel o en el espacio de usuario, se introducen varios problemas que se debern resolver y modificar considerablemente el modelo de programacin para un mejor rendimiento del sistema operativo. Multiprocesamiento En sistema operativo que tiene mltiples CPU, puede compartir la carga de procesamiento; sin embargo, el problema de la planificacin se hace ms difcil. La idea a enfocar sobre el multiprocesamiento es en base a los sistemas en lo que los procesadores son idnticos, homogneos en relacin a su funcionalidad, existen diferentes limitaciones que afectan a la planificacin.

usuario, tanto las tarjetas de para entrada interfaz a la red, (ratn, teclado, para conectar la monitor computadora a TouchScreen, una red de rea scanner, lectores local. de huella, etc.) como para salida (impresoras, pantalla, etc.). Los dispositivos de acuerdo a su funcin se pueden clasificar de la siguiente manera:

Dispositivos de E/S programada Memoria Real


La memoria real o principal, es donde se guardan los datos y se ejecutan los programas, por lo general esta memoria es voltil. La CPU extrae instrucciones de la memoria de acuerdo con el valor del contador de programa, durante el ciclo de ejecucin de algn proceso debera extraer la instruccin de la memoria la cual se decodifica y puede hacer que se procesen una serie de operaciones. El resultado de haber ejecutado esas operaciones, se almacena de nuevo en la memoria. Comnmente el costo de esta memoria es de mayo costo que la memoria secundaria, pero la gran diferencia estn en que la memoria real es de rpido acceso a la informacin contenida, la memoria cache es la nica que podra llegar a ser mucho ms rpida que la principal pero su costo tambin es an mayor que las memorias real y secundaria. La organizacin y administracin de la memoria real de un sistema ha sido y es uno de los factores ms importantes en el diseo de los sistemas operativos. Muy a menudo los trminos memoria y almacenamiento se consideran equivalentes, los programas y datos deben estar en el almacenamiento principal para poderlos ejecutar y referenciarlos directamente. Se considera almacenamiento secundario o auxiliar al que es Mientras el procesador se encuentra en ejecucin de E/S, emite la seal para que el proceso este a la espera del trmino de la operacin para poder continuar con su ejecucin.

Dispositivos de E/S por interrupcion es


El procesador es el encargado de emitir la orden de E/S para los procesos, estos se ejecutan las instrucciones y son interrumpidos al finalizar su trabajo.

Acceso directo a memoria (DMA)


Este mdulo puede controlar el intercambio de datos entre la memoria principal y un mdulo de E/S.

Multiprocesamiento asimtrico

Multiprocesamiento simtrico

La mayora de las unidades de E/S constan normalmente

NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

Programacin de Sistemas Operativos


memoria y dispositivos de E/S

Unidad 1 Evidencia de Aprendizaje.

Administracin del procesador

Mtodo para planificar las CPU para un sistema multiprocesador consiste en que todas las decisiones sobre la planificacin, el procesamiento de E/S y varias actividades del sistema sean administrados por un mismo procesador. A este multiprocesamiento asimtrico pareciera simple, pues solo existe un procesador que accede a las estructuras de datos del sistema, minimizando la necesidad de compartir datos.

Este tiene como cualidad que cada uno de los procesadores se auto-planifica, y lo procesos pueden estar en una cola comn de procesos preparados, o bien cada procesador puede ser propietario de su cola de procesos preparados de forma independiente, esta mtodo se puede establecer que el planificador de cada procesador analice la cola de procesos preparados y seleccione un proceso para ejecutarlo. Una programacin eficiente del sistema se considerar aquella en la que el procesador pueda seleccionar un proceso que este dentro de una estructura de datos y que dos procesadores no seleccionarn el mismo proceso y tambin evitar la prdida de procesos de la cola.

Hoy en da la mayora o prcticamente todos los sistemas operativos modernos tienen la facultad de soportar el multiprocesamiento simtrico, por mencionar algunos de ellos: Windows XP y superior, Linux en todas sus distribuciones, Mac OSx, etc. Paralelismo Para la programacin de sistemas operativos, el trmino paralelismo implica la existencia de varios procesadores en el sistema, la tcnica de programacin paralela determina el poder dividir la ejecucin de un proceso en distintos mdulos del sistema. Mientras la CPU est ejecutando un programa, tambin puede estar leyendo un disco esto es porque la CPU, esto se realiza en el curso de muy poco tiempo ya que puede trabajar con varios programas simulando que el sistema puede estar realizando varios procesos al mismo tiempo. El termino seudoparalelismo, se utiliza para referirse a esta rpida conmutacin de la CPU entre programas, para diferenciar del verdadero paralelismo de hardware de los sistemas multiprocesador, en el proceso de evolucin de desarrollo de

soportado por lo general en discos, la parte del sistema operativo que administra la memoria se llama Administrador de la memoria. Lleva un registro de las partes de memoria que se estn utilizando y de aquellas que no, asigna espacio en memoria a los procesos cuando estos la necesitan y libera espacio de memoria asignada a procesos que han terminado. En lo que respecta a la reasignacin de direcciones, el contenido del registro frontera indicar el punto a partir del cual puede cargarse el programa del usuario. Para ello ser necesario reasignar las direcciones del programa en funcin de la frontera, existiendo dos formas de hacerlo, una esttica y otra dinmica. La asignacin esttica se realiza durante la compilacin o bien durante la carga del programa en memoria. Esto implica que cualquier variacin del tamao del sistema operativo exigir una nueva compilacin o carga del programa. Es una tcnica fcil de llevar a cabo pero demasiado rgida. La alternativa es asignar las direcciones reales dinmicamente durante la ejecucin. Un dispositivo hardware especial interceptar cada direccin lgica generada por el programa y le sumar el contenido del registro frontera. El resultado ser la direccin real correspondiente como se puede observar en la figura 8. Con esta tcnica el usuario no podr manejar direcciones reales. Su programa utilizar direcciones relativas que podrn variar de 0 al mximo permitido por el sistema operativo. Posteriormente, el sistema con la ayuda del hardware establecer la correspondencia con el espacio fsico de direcciones. El cual estar limitado por la direccin frontera y el tamao de la memoria real. Esta separacin entre la visin del usuario (espacio lgico), y la memoria real (espacio fsico), permite gestionar sta con mayor eficacia.

de un componente mecnico y un componente electrnico. En la mayora de los casos es posible separar las dos partes y tener un diseo ms modular y general. El componente electrnico se denomina controlador del dispositivo o manejador. En una computadora el componente electrnico llega a ser una tarjeta de circuito impreso el cual puede ajustarse en alguna ranura de expansin, donde el componente mecnico es el dispositivo en s, la organizacin de los dispositivos se puede ejemplificar en la figura.

Mecanismos y funciones de manejadores de dispositivos


Las funciones de manejadores de los dispositivos de entrada y salida consisten en un componente mecnico y otro elctrico, en la mayora de las ocasiones se puede separar las dos partes con el objetivo de contar con el diseo modular y general. La parte elctrica se nombra adaptador de dispositivo por lo general al hablar de la parte elctrica se puede apreciar una tarjeta de circuitos impresos que se puede insertar en una ranura de la tarjeta de la computadora, este componente tambin se puede considerar como componente mecnico. La mayora de los controladores pueden manejar uno o varios dispositivos idnticos, Si la interfaz es de mismo tipo estndar con la controladora se podrn ajustar para su funcionamiento. Muchas de las ocasiones en los procesos de E/S de dispositivos el sistema operativo siempre interacta con el controlador y no con el dispositivo. La siguiente imagen muestra la forma de cmo se interconectan los dispositivos.

Memoria Virtual
La memoria virtual tiende a simplificar y facilitar la tarea de programacin, pues con esta alternativa de memoria ya no limita a la cantidad de memoria fsica disponible. La memoria virtual incluye la separacin de memoria lgica y fsica, esta divisin permite proporcionar a los programadores una memoria virtual extremadamente grande, cuando solo se tiene disponible una memoria fsica de menor tamao.

NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

Programacin de Sistemas Operativos


memoria y dispositivos de E/S

Unidad 1 Evidencia de Aprendizaje.

Administracin del procesador

sistemas operativos se ha ido mejorando el modelo de procesos secuenciales que facilita el manejo del paralelismo. El paralelismo para los programas puede ser explicito donde unas de sus principales caractersticas es que el programador especifica mediante una construccin de concurrencia de exclusin mutua y sincronizacin para determinar la prioridad de los procesos. En este mtodo puede ser viable para utilizar los procesadores por separado y ejecutar cada uno los procesos, por su dificultad de implementacin se pueden generar varios errores de programacin.

La memoria virtual contiene espacios de direcciones virtuales de un proceso que hace referencia a la forma lgica de almacenar un proceso en la memoria, las ventajas de la memoria virtual son considerables e importantes para la asignacin de procesos.

La memoria virtual tiene la posibilidad de poder ser utilizada en un sistema de multiprogramacin, manteniendo segmentos de muchos programas dentro. En lo que un programa est esperando que se extraiga a memoria una de sus partes est a la espera de E/S y mientras no puede ejecutarse, por lo que podr otorgarse la CPU a otro proceso, lo mismo que en cualquier otro sistema de multiprogramacin. Mientras el sistema realizaba el trabajo real de intercambiar los recubrimientos, el programador tena que encargarse de dividir en trozos apropiados el programa. La tarea de dividir programas grandes en pequeos trozos modulares era laboriosa y tediosa. La idea bsica de la memoria virtual es que el tamao combinado del programa, sus datos y su pila pueden exceder la cantidad de memoria fsica disponible. El sistema operativo mantiene en la memoria principal aquellas partes del programa que se estn usando en cada momento, manteniendo el resto de las partes del programa en el disco. Por ejemplo, un programa de 16 MB puede ejecutarse sobre una mquina de 4MB eligiendo cuidadosamente que 4 MB se tendrn en la memoria en cada instante, e intercambiando partes del programa entre el disco y la memoria, segn sea necesario. La memoria virtual puede funcionar tambin en un sistema multiprogramado, con diversos fragmentos de muchos programas en memoria a la vez. Mientras un programa espera a que se traiga del disco una parte de s mismo, est esperando por una E/S y no puede ejecutarse, por lo que debe asignarse la CPU a otro proceso de la misma forma que en cualquier otro sistema multiprogramado.

Estructura de datos en el manejo de dispositivos


Dentro de una computadora tpica, la estructura de las interrupciones es como se muestra en la figura 15, a nivel de hardware, las interrupciones funcionan como se describe a continuacin: una vez que el dispositivo termina el proceso de informacin que se le orden, provoca una interrupcin (considerando que el sistema operativo es quien habilita las interrupciones). Esto lo hace aplicando una seal a una lnea del bus que se le asign. El chip controlador de interrupciones situado en la placa madre detecta esa seal y decide lo que se va hacer a continuacin.

La estructura de datos en el manejo de dispositivos se maneja la siguiente clasificacin:

Estructura simple
Es la que se basa en el

Estructura por capas


Esta estructura se basa en

NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

Programacin de Sistemas Operativos


memoria y dispositivos de E/S

Unidad 1 Evidencia de Aprendizaje.

Administracin del procesador

acceso a operaciones bsicas de entrada/salida para escribir directamente en pantalla o disco, lo que se le nombra como libre acceso, otra estructura simple es la separacin del kernel y los programas de sistemas.

nuevas versiones tales como unix donde se disearon para hardware ms avanzado, para dar mayor soporte al mismo hardware. La ventaja de la estructura por capas es que cada capa cumple con una serie de funciones y servicios que brinda a las otras capas, esto permite una mejor organizacin del sistema operativo y una depuracin ms fcil de este. El sistema operativo partiendo de su estructura por capas, est organizado en cuatro capas, las cuales tienen su funcin propiamente establecida y una interfaz con la capa adyacente. La organizacin se estructura en las siguientes capas: Software Manejador Manejador de E/S Interfaz de de independi del interrupci dispositivo ente de los sistema n. s o drivers dispositivo operativo s Activa al Inicia los Este Llamadas al manejador registros del software sistema que al terminar dispositivo, est usan las la E/S. comproban formado por aplicaciones do el la parte de de usuario. estado. alto nivel de los manejadore s, el gestor de cache, el gestor de bloques y el servidor de archivos. La principal actividad de un manejador de dispositivo es aceptar las peticiones en formato abstracto, de la parte del cdigo de E/S independiente del dispositivo, traducir

NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

Programacin de Sistemas Operativos


memoria y dispositivos de E/S

Unidad 1 Evidencia de Aprendizaje.

Administracin del procesador

dichas peticiones a trminos que entienda el controlador, enviar al mismo las rdenes adecuadas en la secuencia correcta y esperar a que se cumplan.

Operaciones de E / S
En la mayora de las aplicaciones, el archivo es el elemento central. Cualquiera que sea la finalidad de la aplicacin, implicar la generacin y uso de informacin. Normalmente cada sistema dispone de programas de utilidad que se ejecutan como aplicaciones privilegiadas. Sin embargo, un sistema de gestin de archivos necesita como mnimo algunos servicios especiales del sistema operativo. Para la E/S programada como la basada en interrupciones, la CPU debe encargarse de realizar las operaciones de lectura y escritura sobre ficheros. La lectura o bien La escritura entrada de datos Permite recibir valores Realiza la operacin de desde los dispositivos o escritura de resultados en archivos. dispositivos de salida o archivos. Acceso directo a memoria (DMA). Varios controladores, los dispositivos por bloques manejan el acceso directo a memoria o DMS. Primero el controlador lee el bloque de la unidad en serie, bit por bit, hasta que todo el bloque est en el buffer interno del controlador. A continuacin, el controlador calcula la suma de verificacin para comprobar que no ocurrieron errores de lectura y luego causa una interrupcin. Cuando el sistema operativo comienza a ejecutarse, puede leer el bloque del disco del buffer del controlador byte por byte o palabra por palabra, ejecutando un ciclo, leyndose en cada iteracin un byte o una palabra de un registro del controlador y almacenndose en la memoria. La finalidad del DMA es para liberar a la CPU de un ciclo programado donde se leen los bytes del controlador uno por uno pues eso tiene prdida de tiempo en la CPU, cuando se utiliza DMA la CPU proporciona al controlador dos elementos de informacin adems de la direccin en disco del bloque: la direccin de memoria donde debe colocarse el bloque y el nmero de bytes que deben

NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

10

Programacin de Sistemas Operativos


memoria y dispositivos de E/S

Unidad 1 Evidencia de Aprendizaje.

Administracin del procesador

transferirse, como se muestra en la figura.

Inicio y control de los programas de canal. Estos programas residen en la memoria principal del CPU y se ejecutan en el canal. La CPU puede utilizar para estos fines, son las siguientes: START I/O Inicia una operacin de E/S. El campo de direccin de la instruccin se emplea para especificar el canal y el dispositivo de E/S que participa en la operacin. HALT I/O Finaliza la operacin del canal. TEST CHANNEL Prueba el estado del canal. TEST I/O Prueba el estado del canal, el subcanal y el dispositivo de E/S. Una operacin de E/S se inicia con la instruccin START I/O. La ubicacin del programa de canal en la memoria principal viene definida en la palabra de direccin de canal (CAW: Channel Address Word).

NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

11

You might also like