Está en la página 1de 76

MAINFRAME: SISTEMAS OPERATIVOS

Autor: prof: Luis Martin

Introduccin

Sin el software, una computadora no es ms que una masa metlica sin utilidad. Con el software, una computadora puede almacenar, procesar y recuperar informacin, encontrar errores de ortografa en manuscritos, tener aventuras e intervenir en muchas otras valiosas actividades para ganar el sustento. El software para computadoras puede clasificarse en general en dos clases: los programas de sistema, que controlan la operacin de la computadora en si y los programas de aplicacin, los cuales resuelven problemas para sus usuarios. El programa fundamental de todos los programas de sistema es el sistema operativo (SO), que controla todos los recursos de la computadora y proporciona la base sobre la cual pueden escribirse los programas de aplicacin. El crecimiento del rendimiento de los microcomputadores ha sido el ms rpido, en cierto modo porque estas mquinas aprovecharon las ventajas que ofrece la tecnologa de circuitos integrados. Adems, desde 1980, la tecnologa de microprocesadores ha sido la tecnologa elegida para las nuevas arquitecturas y las nuevas implementaciones de arquitecturas antiguas. Dos cambios significativos en el mercado de computadores han hecho ms fcil que antes el xito comercial de las nuevas arquitecturas. En primer lugar, la eliminacin virtual de la programacin en lenguaje ensamblador ha reducido drsticamente la necesidad de la compatibilidad del cdigo objeto. En segundo lugar, la creacin de sistemas operativos estandarizados, independientes de los vendedores, como por ejemplo UNIX, ha reducido el coste y riesgo de lanzar al mercado una nueva arquitectura. A uds los estudiantes va dirigido este texto con la finalidad de que tengan una buena visin de lo que son y como funcionan los sistemas operativos. Caracas Marzo, 2011 SISTEMAS OPERATIVOS: Entre las dcadas de 1950 y 1970 las computadoras eran dispositivos enormes, controlados mediante una consola. Los dispositivos de entrada ms comunes eran los lectores de tarjetas. Se realizaba la carga de un trabajo y ste poda llegar a terminar en cualquier momento (minutos, horas o das despus); por lo tanto, cuando el programa terminaba la ejecucin, alguien deba realizar la tarea de hacer una nueva carga para ejecutar una nueva tarea. De esta manera surge el monitor residente. Un monitor residente estaba compuesto por un cargador, un Intrprete de comandos y un Controlador (drivers) para el manejo de entrada/salida. En informtica, un cargador es la parte de un sistema operativo que es responsable de cargar programas en memoria desde los ejecutables (por ejemplo, archivos ejecutables). El cargador es usualmente una parte del ncleo del sistema operativo y es cargado al iniciar el sistema y permanece en memoria hasta que el sistema es reiniciado o apagado. Algunos sistemas operativos que tienen un ncleo paginable pueden tener el cargador en una parte paginable de la memoria, entonces a veces el cargador hace un intercambio de memoria El software operativo viene conformado por el conjunto de programas que se instalan en la computadora para crear la interfaz grfica del usuario Tipos de Software Todos los programas que conforman el software, pueden ser divididos en dos bien diferenciados por su funcin: Software de sistema: esta compuesta por el conjunto de programas imprescindibles para el funcionamiento del hardware, ms un conjunto cuya misin es de facilitar el uso del sistema y optimizar sus recursos.

Software de aplicacin: es el conjunto de programas que se desarrollan para que una computadora realice cualquier trabajo controlado por el usuario. Gestin del Procesador: Los programas del procesador son los encargados de la preparacin de los programas de usuario para su ejecucin, as como de la asignacin de tiempos en el procesador. Sus principales fundones son: Preparacin de programas: su misin es transferir los programas ejecutables de usuario desde la memoria externa a la memoria central de la computadora a partir de una determinada direccin de memoria; por medio de un programa que se denomina cargador. Planificacin del procesador: consiste en el control, a trabes d una determinada poltica de asignacin de tiempos, de utilizacin del procesador a los distintos procesos que en un momento determinado se en cuantan en el sistema. En los sistemas opresivos actuales existe una gran variedad de formas de planificar el tiempo del procesador. Asignacin de perifricos: en un programa, generalmente, nunca se especifica el perifrico concreto que se va a utilizar, sino que se solicita una impresora, un disco, etc. Este grupo de programas de asignacin transforma las solicitudes simblicas, hechas en el programa, en las asignaciones fsicas y concretas de cada perifrico. Relanzamiento de programas: a veces, durante la ejecucin de un programa en una computadora, se producen interrupciones fortuitas que causan la parada del proceso que se estaba ejecutando, o bien se interrumpe porque se estn ejecutando varios procesos a la vez y se tienen que ir turnando. Este grupo de programas se encarga de establecer un punto de control en el instante de la interrupcin para que se pueda reproducir el estado que tena el proceso cuando se vuelve a reactivar. Para ello, se reestablecen los valores de cada electo en el momento de la interrupcin hasta conseguir el estado de la ejecucin del programa. Una vez subsanada la causa de la parada o le vuelve a tocar el turno, se pone en funcionamiento nuevamente el proceso. Gestin de Memoria: Un sistema operativo contiene un conjunto de programas cuya misin es la de asignar y controlar el almacenamiento en la memoria interna y externa de la computadora, fundamentalmente la interna por ser un recurso escaso y caro. Por otra parte, un sistema puede mantener en un mismo instante un gran nmero de usuarios y procesos, y stos pueden estar solicitando y manejando continuamente archivos en memoria externa, en ocasiones hasta compartindolos, y por ello ser necesario la existencia de una serie de programas en el sistema operativo que nos aseguren el correcto funcionamiento del almacenamiento secundario. Gestin de entrada/salida: Es otra de las misiones de un sistema operativo para facilitar el uso de los distintos dispositivos externo que forman parte del sistema informtico, Estos programas de de control tienen como misin gestionar las operaciones que en proceso realice sobre un dispositivo externo.

Fichas en lenguaje de procesamiento por lotes, con programa y datos, para ejecucin secuencial. Antes de comenzar la ejecucin, el operador del sistema deba agrupar tareas que fueran similares. Esto se deba a que los sistemas de cmputo no contaban con una gran cantidad de memoria, ni tampoco podan cargar rutinas de forma dinmica, por lo cual todas las rutinas deban ser cargadas en un momento inicial, anterior a la ejecucin. Al agrupar tareas similares, el operador poda cargar todas las rutinas (la idea es que la mayora fueran compartidas) que necesitaran las tareas y todos los datos de entrada de todas las tareas en la memoria principal Un intrprete de rdenes o de comandos , es un programa informtico que tiene la capacidad de traducir las rdenes que introducen los usuarios, mediante un conjunto de instrucciones facilitadas por l mismo directamente al ncleo y al conjunto de herramientas que forman el sistema operativo.[1] Las rdenes se introducen siguiendo la sintaxis incorporada por dicho intrprete, dentro del entorno proporcionado por el emulador de terminal, mediante un inductor que espera a que le sean introducidos los comandos o instrucciones Un controlador de dispositivo, llamado normalmente controlador (en ingls, device driver) es un programa informtico que permite al sistema operativo interactuar con un perifrico, haciendo una abstraccin del hardware y proporcionando una interfaz -posiblemente estandarizada- para usarlo. Se puede esquematizar como un manual de instrucciones que le indica al sistema operativo, cmo debe controlar y comunicarse con un dispositivo en particular. Por tanto, es una pieza esencial, sin la cual no se podra usar el hardware. Un sistema operativo esta compuesto por tres programas principales: IPL: Que es el programa que permite la carga y arranque de este Supervisor Que controla y supervisa los procesos de ejecucin en el sistema operativo. Este a su vez esta formado por dos grupos de programas que son programas de control y programas de procesamiento. Job control lenguaje: Que es el lenguaje de control de trabajo en el sistema operativo. Programas de proceso: Estn enfocados preferentemente para ayudar al programador en la puesta a punto de los programas. Todo sistema operativo posee en su entorno un conjunto de programas para este fin. Existen dos tipos de programas de proceso: los programas traductores y los programas de servicio. Programas Traductores:

Son programas que toman como entrada un programa escrito en lenguaje simblico alejado de la maquina, denominado programa fuente, y proporcionan como salida otro programa equivalente escrito en un lenguaje comprensible por el hardware de la computadora, denominado programa objeto. Existen 3 tipos de programas traductores: los ensambladores, compiladores y los intrpretes: Programas ensambladores: transforman programas fuente escritos en lenguajes simblicos de bajo nivel (denominados lenguajes ensambladores). Programas compiladores: son programas traductores encargados de transformar programas fuente escrito en lenguaje simblico de alto nivel, en programas objeto escritos en lenguaje mquina. Programas intrpretes: transforman programas fuente escritos en lenguaje de alto nivel en programas objeto escritos, en lenguaje mquina. Programas de Servicio: Son un grupo de programas que realizan funciones tiles para el sistema o para el usuario, denominados comnmente utilidades. Programas de manipulacin de datos: realiza las siguientes funciones: Transferencia de informaciones. Recodificacin o transformacin de informaciones. Reorganizacin de la informacin en archivos. Ordenacin de datos en archivos, entre otras. .Traductores: Tienen por objeto convertir las aplicaciones de usuario en un lenguaje nativo del procesador (Lenguaje que se denomina cdigo mquina) El cdigo mquina es especfico de cada tipo de ordenador. Tipos de traductores: Ensambladores: El lenguaje ensamblador (assembler) utiliza una serie de cdigos mnemotcnicos que se corresponden de forma unvoca a las instrucciones del lenguaje mquina. Compiladores: Se suele traducir de un lenguaje de alto nivel a cdigo mquina y adems la traduccin es completa antes de ejecutar el programa Fuente Compilador objeto Interpretes: La traduccin se efecta instruccin a instruccin, con el objetivo de ejecutarlas rpidamente. Lenguaje de ALTO NIVEL: El nivel de abstraccin ofrecido, permite al usuario expresar la actividad de procesamiento en un lenguaje natural. Lenguaje de BAJO NIVEL: Se aproxima al lenguaje maquina. Assembler {Cdigo maquina ) Codigo fuente: Al conjunto ordenado de instrucciones escritas en lenguaje de alto nivel o lenguaje ensamblador. Codigo objeto: Al conjunto de instrucciones que se obtienen del proceso de depuracin del programa fuente. Los programas de utilidad tienen por objeto la manipulacin de archivos. Programas de Aplicaciones: Son aquellos programas que realizan actividades especficas que el usuario desea encomendar al sistema. El firware es un conjunto de programas que se almacenan en cdigo mquina en dispositivos de memoria no voltil. ROM En el PC BIOS (Basic Input Output System) Ese conjunto de cdigo de la BIOS activa el POST (Power on self test), que se entiende como el proceso de autodiagnstico de puesta en marcha. Es lo primero que se efecta. (proceso fsico).

Job (Trabajo): Conjunto de datos + todos los programas que los procesan Un trabajo esta compuesto por un nmero de pasos que son cada programa que procesa la informacin. Se realizan de forma secuencial, esto es, los trabajos van llegando de forma secuencial y se forma lo que se llama la cola de trabajo (o cola del sistema) que en principio se ejecutan de forma secuencial segn han ido llegando. Esta cola se realiza porque en un momento determinado una aplicacin utiliza ciertos recursos que no pueden ser utilizados al mismo tiempo por otras aplicaciones. Se utiliza el lenguaje JCL (Job Control Lenguaje) para modelar los trabajos Multiprogramacin: Proceso concurrente y no simultaneo de mas de un job trabajando en un computador. Nunca al mismo tiempo: El profesor ampliara en clase este concepto. Tiempo compartido: sistema de trabajo de un ordenador gracias al cual se atienden peticiones de diferentes procesos de forma aparentemente simultnea. Procesamiento por lotes Los primeros computadores eran dispositivos extremadamente costosos y muy lentos. Las mquinas fueron tpicamente dedicadas a un conjunto particular de tareas y eran operados desde un panel de control, el operador introduca manualmente pequeos programas por medio de interruptores para cargar y ejecutar programas. Estos programas podan llevar horas o incluso semanas para finalizar su tarea. A medida que las computadoras aumentaron su velocidad, los tiempos de ejecucin se redujeron, y repentinamente el tiempo tomado para leer y cargar el siguiente programa empezaba a ser relativamente grande en comparacin con el tiempo de uso de la CPU. sta ltima permaneca demasiado tiempo inactiva mientras se realizaban tareas de entrada/salida, hecho que se convirti en una importante preocupacin. Para mejorar el aprovechamiento de las computadoras, las anteriores metodologas de procesamiento por lotes simples evolucionaron a sistemas de procesamiento por lotes multiprogramados, de modo que mientras un primer programa era ejecutado inmediatamente se empezaba a cargar en los dispositivos de entrada el siguiente programa en la cola, el cual se almacenaba en un buffer y se mantena en espera, cuando el primer programa dejaba de ejecutarse o realizaba nuevas tareas de entrada/salida el siguiente en la cola ya estaba disponible para su procesamiento. De este modo, se alineaban los programas uno detrs del otro para que tan pronto como uno terminara el siguiente comenzara, reduciendo drsticamente los tiempos muertos de la CPU. Generalmente los programas introducidos en sistemas de procesamiento por lotes, utilizaban tarjetas perforadas o cintas de papel. Los programadores utilizaban la llamadas perforadoras de tarjeta para codificar sus programas La IBM 029 fue la de mayor uso.. Cuando las tarjetas finalmente estaban preparadas, eran enviadas al equipo de operaciones( Lectoras de tarjetas), quienes le asignaran un horario determinado para su ejecucin. Se priorizaban los programas importantes para que su tiempo de espera fuese menor, mientras que los menos importantes deban esperar un tiempo indeterminado. Cuando el programa finalmente era ejecutado, la salida, generalmente impresa, sera retornada al programador. El proceso completo poda tardar das, durante los cuales el programador poda no ver el computador nunca. La alternativa, permitiendo al usuario operar el computador directamente, era generalmente demasiado costosa para ser considerada. Esto era debido a que el

usuario deba esperar largos retardos simplemente sentado all mientras se introduca y cargaba el cdigo. Esto limit los desarrollos en la interactividad directa usuario/maquina nicamente a las grandes organizaciones que podan pagar para despilfarrar ciclos computacionales, asi como grandes universidades en general. Los programadores en las universidades denigraron los comportamientos inhumanos que el procesamiento por lotes impuso, al punto que los estudiantes de Stanford hicieron un cortometraje humorstico criticndolo. Ellos experimentaron con nuevas maneras de interactuar directamente con el computador, un campo conocido hoy como Interaccin Humano Mquina. En informtica una mquina virtual es un software que emula a una computadora y puede ejecutar programas como si fuese una computadora real.

La caracterstica esencial de las mquinas virtuales es que los procesos que ejecutan estn limitados por los recursos y abstracciones proporcionados por ellas. Estos procesos no pueden escaparse de este "ordenador virtual". El uso domstico ms extendidos de las mquinas virtuales es ejecutar sistemas operativos para "probarlos". De esta forma podemos ejecutar un sistema operativo que queramos probar (Linux, por ejemplo) desde nuestro sistema operativo habitual (Windows por ejemplo) sin necesidad de instalarlo directamente en nuestro ordenador y sin miedo a que se desconfigure el sistema operativo primario. Las mquinas virtuales se pueden clasificar en dos grandes categoras segn su funcionalidad y su grado de equivalencia a una verdadera mquina. Mquinas virtuales de sistema (en ingls System Virtual Machine) Mquinas virtuales de proceso (en ingls Process.. Virtual Machine) Las mquinas virtuales de sistema, tambin llamadas mquinas virtuales de hardware, permiten a la mquina fsica subyacente multiplexarse entre varias mquinas virtuales, cada una ejecutando su propio sistema operativo. A la capa de software que permite la virtualizacin se la llama monitor de mquina virtual o "hypervisor". Un monitor de mquina virtual puede ejecutarse o bien directamente sobre el hardware o bien sobre un sistema operativo ("host operating system"). Una mquina virtual de proceso, a veces llamada "mquina virtual de aplicacin", se ejecuta como un proceso normal dentro de un sistema operativo y soporta un solo proceso. La mquina se inicia automticamente cuando se lanza el proceso que se desea ejecutar y se para cuando ste finaliza. Su objetivo es el de proporcionar un entorno de ejecucin independiente de la plataforma de hardware y del sistema operativo, que oculte los detalles de la plataforma subyacente y permita que un programa se ejecute siempre de la misma forma sobre cualquier plataforma.

Un buffer (o bfer) en informtica es un espacio de memoria, en el que se almacenan datos para evitar que el programa o recurso que los requiere, ya sea hardware o software, se quede sin datos durante una transferencia. Los buffers se utilizan, a menudo, conjuntamente con E/S de hardware, tal como unidades de disco, enviar o recibir datos a/o desde una red. Los buffers utilizan generalmente un mtodo FIFO (primero en entrar, primero en salir), es decir, la salida de datos se produce en el orden en que llegaron. Una cach puede ser usada a veces como un buffer, y viceversa. Sin embargo, una cach opera con el supuesto de que los mismos datos van a ser utilizados mltiples veces, que los datos escritos sern ledos en un periodo corto de tiempo, o teniendo en cuenta la posibilidad de mltiples lecturas o escrituras para formar un nico bloque ms grande. Su premisa bsica es reducir los accesos a los almacenamientos de nivel ms bajo, los cuales son bastante lentos. La cach tambin es normalmente una capa de abstraccin que est diseada para ser invisible. Spooling (Simultaneous Peripheral Operations On-Line) se refiere al proceso mediante el cual la computadora introduce trabajos en un buffer (un rea especial en memoria o en un disco), de manera que un dispositivo pueda acceder a ellos cuando est listo. El spooling es til en caso de dispositivos que acceden a los datos a distintas velocidades. El buffer proporciona un lugar de espera donde los datos pueden estar hasta que el dispositivo (generalmente ms lento) los procesa. Esto permite que la CPU pueda trabajar en otras tareas mientras que espera que el dispositivo ms lento acabe de procesar el trabajo. La aplicacin ms comn del spooling es la impresin. En este caso, los documentos son cargados en un buffer, que habitualmente es un rea en un disco, y la impresora los saca de ste a su propia velocidad. El usuario puede entonces realizar otras operaciones en el ordenador mientras la impresin tiene lugar en segundo plano. El spooling permite tambin que los usuarios coloquen varios trabajos de impresin en una cola de una vez, en lugar de esperar a que cada uno acabe para enviar el siguiente. El uso de un almacenamiento intermedio permite que varios procesos en paralelo estn generando datos para el dispositivo, sin que se mezcle el resultado, ni que tengan que esperar a que finalice la operacin con el perifrico. En consecuencia se obtiene una comunicacin indirecta entre los programas que escriben los datos y los que los leen. Se suele usar este mecanismo cuando un dispositivo escribe datos a diferente velocidad de la que la lee el dispositivo receptor, lo cual permite que un dispositivo ms lento lo procese a su ritmo. Tambin se puede referir a un dispositivo de almacenamiento que incorpora un spool fsico, como una unidad de cinta. El reloj del computador: Un ciclo de reloj es la unidad de tiempo usada para la ejecucin de las operaciones Las operaciones se realizan dentro del ciclo de reloj. Tambin denominado cielos por segundo o frecuencia, este trmino hace referencia a la velocidad del procesador incorporado en la CPU del ordenador, y se mide en megaherzios (MHz). A mayor ndice de frecuencia, ms rpido es el procesador y, en consecuencia, el ordenador. Hace unos aos era frecuente encontrar procesadores a 16 MHz, pero hoy en da lo normal es que stos superen los 120 MHz.

Conceptos relacionado con Ciclo de reloj Frecuencia: Frecuencia Nmero de veces que se repite una onda en una cantidad de tiempo determinada. Su unidad de medida es el hertzio y la velocidad de los procesadores es megahertz. Ciclo: Ciclo Rutina que ejecuta un conjunto de instrucciones de manera repetitiva hasta que se cumple.... Programa Residente: Programa Residente Buena parte de los elementos de un programa estn situados en la memoria de acceso selectivo y no entran en la memoria central sino cuando, se necesitan. Puerto Paralelo: Puerto Paralelo Hace posible el flujo de datos a travs de varias lneas. Un caso tpico es la comunicacin entre un ordenador y varias impresoras. Multimedia: Multimedia El concepto Multimedia alude a la combinacin en un ordenador de sonido, grficos, animacin y vdeo. La configuracin habitual del hardware est constituida por un procesador del tipo 386... MEMORIA VIRTUAL La memoria virtual es una tcnica de administracin de la memoria real que permite al sistema operativo brindarle al software de usuario y a s mismo un espacio de direcciones mayor que la memoria real o fsica. La mayora de los ordenadores tienen cuatro tipos de memoria: registros en la CPU, la memoria cach (tanto dentro como fuera del CPU), la memoria fsica (generalmente en forma de RAM, donde la CPU puede escribir y leer directa y razonablemente rpido) y el disco duro que es mucho ms lento, pero tambin ms grande y barato. En sistemas operativos el proceso de paginacin de memoria divide los programas en pequeas partes o pginas. Del mismo modo, la memoria es dividida en trozos del mismo tamao que las pginas llamados marcos de pgina. De esta forma, la cantidad de memoria desperdiciada por un proceso es el final de su ltima pgina, lo que minimiza la fragmentacin interna y evita la externa. En un momento cualquiera, la memoria se encuentra ocupada con pginas de diferentes procesos, mientras que algunos marcos estn disponibles para su uso. El sistema operativo mantiene una lista de estos ltimos marcos, y una tabla por cada proceso, donde consta en qu marco se encuentra cada pgina del proceso. De esta forma, las pginas de un proceso pueden no estar contiguamente ubicadas en memoria, y pueden intercalarse con las pginas de otros procesos. En la tabla de pginas de un proceso, se encuentra la ubicacin del marco que contiene a cada una de sus pginas. Las direcciones lgicas ahora se forman como un nmero de pgina y de un desplazamiento dentro de esa pgina (conocido comnmente como offset). El nmero de pgina es usado como un ndice dentro de la tabla de pginas, y una vez obtenida la direccin del marco de memoria, se utiliza el desplazamiento para componer la direccin real o direccin fsica. Este proceso se realiza en una parte del computador especficamente diseada para esta tarea, es decir, es un proceso hardware y no software. De esta forma, cuando un proceso es cargado en memoria, se cargan todas sus pginas en marcos libres y se completa su tabla de pginas. Veamos un ejemplo: Nmero de marco Programa.#pgina Direccin fsica 0 1 2 3 Programa A.0 Programa A.1 Programa A.2 Programa B.0 1000:0000 1000:1000 1000:2000 1000:3000

4 5 6 7

Programa B.1 Programa C.0 Programa C.1 Programa D.2

1000:4000 1000:5000 1000:6000 1000:7000

La tabla de la derecha muestra una posible configuracin de la memoria en un momento dado, con pginas de 4Kb. La forma en que se lleg a este estado puede haber sido la siguiente: Se tienen cuatro procesos, llamados A, B, C y D, que ocupan respectivamente 3, 2, 2 y 3 pginas. El programa A se carga en memoria (se le asignan los marcos 0, 1 y 2) El programa B se carga en memoria (se le asignan los marcos 3 y 4) El programa C se carga en memoria (se le asignan los marcos 5 y 6) El programa B termina, liberando sus pginas El programa D se carga en memoria (se le asignan los marcos 3 y 4 que usaba el proceso B y el marco 7 que permaneca libre) De esta forma, las tablas simplificadas de cada proceso se ven de esta forma:

Proceso C Pgina Marco 0 1 Proceso A Pgina Marco 0 1 2 1000:0000 1000:1000 1000:2000 1000:5000 1000:6000

Proceso D Pgina Marco 3 4 7 1000:3000 1000:4000 1000:7000

Ahora consideremos qu sucede cuando un programa quiere acceder a su memoria. Si el programa A contiene una referencia a la memoria con direccin 20FE, se realizar el siguiente procedimiento. 20FE es 0010000011111110 en notacin binaria (en un sistema de 16 bit), y en el ejemplo se estn usando pginas de 4Kb de tamao.

Cuando la peticin de la direccin de memoria 20FE es realizada, la Unidad de Gestin de memoria se ve de esta forma: Al usar pginas de 4096 bytes, todas las ubicaciones dentro de una pgina pueden ser representadas por 12 bits, en el sistema binario (2 12=4096), lo que deja 4 bits para representar el nmero de pgina. Si las pginas hubieran sido de la mitad del tamao (2048) se podran tener 5 bits para el nmero de pgina, lo que significa que a menor tamao de pgina se pueden tener tablas con ms pginas. Cuando el pedido de acceso a memoria es realizado, la MMU busca en la tabla de pginas del proceso que realiz el pedido por la relacin en memoria fsica. En nuestro ejemplo, la pgina nmero 2 del proceso A corresponde al marco nmero 2 en memoria fsica, con direccin real 1000:2000, por lo tanto, la MMU devolver la direccin del marco en memoria fsica, con el desplazamiento dentro de esa Paginacin en memoria virtual El nico inconveniente de paginacin pura es que todas las pginas de un proceso deben estar en memoria para que se pueda ejecutar. Esto hace que si los programas son de tamao considerable, no puedan cargarse muchos a la vez, disminuyendo el grado de multiprogramacin del sistema. Para evitar esto, y aprovechando el principio de cercana de referencias donde se puede esperar que un programa trabaje con un conjunto cercano de referencias a memoria (es decir con un conjunto residente ms pequeo que el total de sus pginas), se permitir que algunas pginas del proceso sean guardadas en un espacio de intercambio (en memoria secundaria) mientras no se necesiten. Cuando la paginacin se utiliza junto con memoria virtual, el sistema operativo mantiene adems el conocimiento sobre qu pginas estn en memoria principal y cules no, usando la tabla de paginacin. Si una pgina buscada est marcada como no disponible (tal vez porque no est presente en la memoria principal, pero s en el rea de intercambio), cuando la CPU intenta referenciar una direccin de memoria en esa pgina, la MMU responde levantando una excepcin (comnmente llamada fallo de pgina). Si la pgina se encuentra en el espacio de intercambio, el sistema operativo invocar una operacin llamada intercambio de pgina, para traer a memoria principal la pgina requerida. La operacin lleva varios pasos. Primero se selecciona una pgina en memoria, por ejemplo una que no haya sido usada recientemente (para ms detalles ver algoritmos de reemplazo de pginas). Si la pgina fue modificada, se escribe la misma en el espacio de intercambio. El siguiente paso en el proceso es leer la informacin en la pgina necesitada desde el espacio de intercambio. Cuando esto sucede, las tablas para traduccin de direcciones virtuales a reales son actualizadas para reflejar los contenidos de la memoria fsica. Entonces el intercambio de pgina sale, y el programa que us la direccin que caus la excepcin es vuelto a ejecutar desde el punto en que se dio la misma y contina como si nada hubiera pasado. Tambin es posible que una direccin virtual sea marcada como no disponible porque no fue localizada previamente. En estos casos, una pgina de memoria es localizada y llenada con ceros, la tabla de paginacin es modificada para mostrar los cambios y el programa se reinicia como en el otro caso. Si la pgina que ha provocado el fallo de pgina no se encuentra en el espacio de intercambio, habr que ir a buscarla a la unidad de disco. El proceso, por lo dems sera anlogo.

Muchas aplicaciones requieren el acceso a ms informacin (cdigo y datos) que la que se puede mantener en memoria fsica. Esto es as sobre todo cuando el sistema operativo permite mltiples procesos y aplicaciones ejecutndose simultneamente o concurrentemente Una solucin al problema de necesitar mayor cantidad de memoria de la que se posee consiste en que las aplicaciones mantengan parte de su informacin en disco, movindola a la memoria principal cuando sea necesario. La memoria virtual es una tcnica para proporcionar la simulacin de un espacio de memoria mucho mayor que la memoria fsica de una mquina. Esta "ilusin" permite que los programas se ejecuten sin tener en cuenta el tamao exacto de la memoria fsica. Direcciones reales y virtuales: MMU ( Unit Magnament Memory) La traduccin de las direcciones virtuales a reales es implementada por una Unidad de Manejo de Memoria (MMU). El sistema operativo es el responsable de decidir qu partes de la memoria del programa es mantenida en memoria fsica. Adems mantiene las tablas de traduccin de direcciones (si se usa paginacin la tabla se denomina tabla de paginacin), que proveen las relaciones entre direcciones virtuales y fsicas, para uso de la MMU. Finalmente, cuando una excepcin de memoria virtual ocurre, el sistema operativo es responsable de ubicar un rea de memoria fsica para guardar la informacin faltante, trayendo la informacin desde el disco, actualizando las tablas de traduccin y finalmente continuando la ejecucin del programa que dio la excepcin de memoria virtual desde la instruccin que caus el fallo. En la mayora de las computadoras, las tablas de traduccin de direcciones de memoria se encuentran en memoria fsica. Esto implica que una referencia a una direccin virtual de memoria necesitar una o dos referencias para encontrar la entrada en la tabla de traduccin, y una ms para completar el acceso a esa direccin. Para acelerar el desempeo de este sistema, la mayora de las Unidades Centrales de Proceso (CPU) incluyen una MMU en el mismo chip, y mantienen una tabla de las traducciones de direcciones virtuales a reales usadas recientemente, llamada Translation Lookaside Buffer (TLB). El uso de este buffer hace que no se requieran referencias de memoria adicionales, por lo que se ahorra tiempo al traducir. En algunos procesadores, esto es realizado enteramente por el hardware. En otros, se necesita de la asistencia del sistema operativo: se levanta una excepcin, y en ella el sistema operativo reemplaza una de las entradas del TLB con una entrada de la tabla de traduccin, y la instruccin que hizo la referencia original a memoria es reejecutada. El hardware que tiene soporte para memoria virtual, la mayora de la veces tambin permite proteccin de memoria. La MMU puede tener la habilidad de variar su forma

de operacin de acuerdo al tipo de referencia a memoria (para leer, escribir, o ejecutar), as como el modo en que se encontraba el CPU en el momento de hacer la referencia a memoria. Esto permite al sistema operativo proteger su propio cdigo y datos (como las tablas de traduccin usadas para memoria virtual) de corromperse por una aplicacin, y de proteger a las aplicaciones que podran causar problemas entre s. Paginacin de memoria Translation Lookaside Buffer Translation Lookaside Buffer (TLB) es una memoria cach administrada por la MMU, que contiene partes de la tabla de paginacin, es decir, relaciones entre direcciones virtuales y reales. Posee un nmero fijo de entradas y se utiliza para obtener la traduccin rpida de direcciones. Si no existe una entrada buscada, se deber revisar la tabla de paginacin y tardar varios ciclos ms, sobre todo si la pgina que contiene la direccin buscada no est en memoria primaria (vase memoria virtual). Si en la tabla de paginacin no se encuentra la direccin buscada, saltar una interrupcin conocida como fallo de pgina. El TLB hace referencia a direcciones fsicas en su tabla. Puede residir entre la CPU y la cach de la misma o entre esta cach y la unidad de memoria primaria. Esto depende de si la cach utiliza direccionamiento fsico o virtual. Si la cach se direcciona de manera virtual, las peticiones se envan directamente de la CPU a la cach, la cual accede al TLB cuando es necesario. Si la cach se direcciona de manera fsica, la CPU realiza una bsqueda en el TLB con cada operacin de memoria, y la direccin fsica resultante es enviada a la cach. Existen pros y contras en ambas implementaciones. Una optimizacin comn para las cachs direccionadas de manera fsica es realizar una bsqueda en el TLB en paralelo con el acceso a cach. Los bits de orden ms bajo de cualquier direccin virtual (por ejemplo en un sistema de memoria virtual que tiene pginas de 4KB, los 12 bits ms bajos de la direccin virtual) no cambian en la traduccin de direccin virtual a fsica. Durante un acceso a cach se realizan dos acciones: Se utiliza un ndice para encontrar una entrada en el sistema de datos de la cach, y a continuacin las etiquetas de la lnea encontrada se comparan. Si la cach est estructurada de tal manera que pueda ser indexada utilizando solo los bits que no cambian en la traduccin, la cach puede realizar su operacin de "indexacin" mientras el TLB traduce la parte alta de la direccin. Entonces, la direccin traducida del TLB es enviada a la cach. La cach realiza una comparacin de etiquetas para determinar si este acceso ha sido un acierto o un fallo. Concepto deFallo En las arquitecturas modernas se pueden observar dos mtodos de tratar un fallo de TLB. Con el manejo hardware del TLB, la propia CPU comprueba las tablas de paginacin para ver si hay alguna entrada vlida para la direccin virtual especificada. Si la entrada existe, se lleva a la TLB y se reintenta el acceso; esta vez el acceso ser un acierto, y el programa podr proceder con normalidad. Si la CPU no encuentra una entrada vlida para la direccin virtual en las tablas de pgina, se genera una excepcin de fallo de pgina, la cual deber manejar el sistema operativo. El manejo de los fallos de pgina normalmente implica llevar los datos pedidos a la memoria fsica, generando una entrada en la tabla de paginacin para mapear la direccin virtual que faltaba para corregir la direccin fsica, y reiniciar el programa. Con el manejo software de las TLB, un fallo genera una excepcin "fallo de TLB", y el sistema operativo debe acceder a las tablas de paginacin y realizar la traduccin por software. Entonces, el sistema operativo carga la traduccin en el TLB y reinicia el programa desde la instruccin que caus el fallo. Como en el sistema de manejo hardware, si el SO no encuentra una traduccin vlida en las tablas, ocurre un fallo de pgina y el SO deber manejarlo de la manera correspondiente.

Algoritmos de reemplazo de pginas En sistemas operativos que utilizan paginacin para el manejo de memoria, los algoritmos de reemplazo de pginas son usados para decidir qu pginas pueden ser sacadas de memoria cuando se necesita cargar una nueva y ya no hay espacio. ptimo Este algoritmo tiene como finalidad retirar la pgina que vaya a ser referenciada ms tarde, por ejemplo si hay una pgina A que ser usada dentro de 10000 instrucciones, y una pgina B que ser usada dentro de 2800 instrucciones, se debera eliminar de la memoria la pgina A. Como se puede deducir, para esto el sistema operativo debera ver en cunto tiempo ser usada cada pgina en memoria y elegir la que est ms distante. El problema de este mtodo es que necesita conocimiento del futuro, por lo que es imposible su implementacin. Es un algoritmo terico. Se utiliza a los efectos comparativos con los algoritmos factibles de ser implementados para ver cul se aproxima ms a ste. Primera en entrar, primera en salir (FIFO, First In, First Out) En este mtodo el sistema operativo slo tiene que guardar en qu orden las pginas fueron cargadas, de modo que al necesitar hacer espacio pueda fcilmente elegir la primera pgina cargada. Se usa una cola, al cargar una pgina nueva se ingresa en el ltimo lugar. Aunque las colas FIFO son simples e intuitivas, no se comportan de manera aceptable en la aplicacin prctica, por lo que es raro su uso en su forma simple. Uno de los problemas que presentan es la llamada Anomala FIFO o Anomala de Belady. Belady encontr ejemplos en los que un sistema con un nmero de marcos de pginas igual a tres tena menos fallos de pginas que un sistema con cuatro marcos de pginas. El problema consiste en que podemos quitar de memoria una pgina de memoria muy usada, slo porque es la ms antigua. Buffer de datos Un buffer (o bfer) en informtica es un espacio de memoria, en el que se almacenan datos para evitar que el programa o recurso que los requiere, ya sea hardware o software, se quede sin datos durante una transferencia. Buffer de Telecomunicacin La rutina del buffer, o bien, el almacenamiento medio usado en telecomunicaciones, compensa una diferencia en el flujo de datos, o el tiempo de la ocurrencia, al transferir datos desde un dispositivo a otro. Spoolers Hace aparicin el disco magntico con lo que surgen nuevas soluciones a los problemas de rendimiento. Se eliminan las cintas magnticas para el volcado previo de los datos de dispositivos lentos y se sustituyen por discos (un disco puede simular varias cintas). Debido al solapamiento del clculo de un trabajo con la E/S de otro trabajo se crean tablas en el disco para diferentes tareas, lo que se conoce como Spool (Simultaneous Peripherial Operation On-Line). Llamadas al sistema operativo Definicin breve: Las llamadas que ejecutan los programas de aplicacin para pedir algn servicio al SO. Cada SO implementa un conjunto propio de llamadas al sistema. Ese conjunto de llamadas es la interfaz del SO frente a las aplicaciones. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO. Por ello si cambiamos de SO, y abrimos un programa diseado para trabajar sobre el anterior, en

general el programa no funcionar, a no ser que el nuevo SO tenga la misma interfaz. Para ello: Bibliotecas de interfaz de llamadas al sistema Las llamadas al sistema no siempre tienen una expresin sencilla en los lenguajes de alto nivel, por ello se crean las bibliotecas de interfaz, que son bibliotecas de funciones que pueden usarse para efectuar llamadas al sistema. Las hay para distintos lenguajes de programacin. Procesos en un sistema operativo: Un proceso es simplemente, un programa en ejecucin que necesita recursos para realizar su tarea: tiempo de CPU, memoria, archivos y dispositivos de E/S. El SO es el responsable de: Crear y destruir los procesos. Parar y reanudar los procesos. Ofrecer mecanismos para que se comuniquen y sincronicen. La gestin de procesos podra ser similar al trabajo de oficina. Se puede tener una lista de tareas a realizar y a estas fijarles prioridades alta, media, baja por ejemplo. Debemos comenzar haciendo las tareas de prioridad alta primero y cuando se terminen seguir con las de prioridad media y despus las de baja. Una vez realizada la tarea se tacha. Esto puede traer un problema que las tareas de baja prioridad pueden que nunca lleguen a ejecutarse. y permanezcan en la lista para siempre. Para solucionar esto, se puede asignar alta prioridad a las tareas ms antiguas. El sistema de E/S Consiste en un sistema de almacenamiento temporal (cach), una interfaz de manejadores de dispositivos y otra para dispositivos concretos. El sistema operativo debe gestionar el almacenamiento temporal de E/S y servir las interrupciones de los dispositivos de E/S. Sistema de archivos Los archivos son colecciones de informacin relacionada, definidas por sus creadores. stos almacenan programas (en cdigo fuente y objeto) y datos tales como imgenes, textos, informacin de bases de datos, etc. El SO es responsable de: Construir y eliminar archivos y directorios. Ofrecer funciones para manipular archivos y directorios. Establecer la correspondencia entre archivos y unidades de almacenamiento. Realizar copias de seguridad de archivos. Sistemas de proteccin Mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. El SO se encarga de: Distinguir entre uso autorizado y no autorizado. Especificar los controles de seguridad a realizar. Forzar el uso de estos mecanismos de proteccin. Sistema de comunicaciones Para mantener las comunicaciones con otros sistemas es necesario poder controlar el envo y recepcin de informacin a travs de las interfaces de red. Tambin hay que crear y mantener puntos de comunicacin que sirvan a las aplicaciones para enviar y recibir informacin, y crear y mantener conexiones virtuales entre aplicaciones que estn ejecutndose localmente y otras que lo hacen remotamente.

Programas de sistema Son aplicaciones de utilidad que se suministran con el SO pero no forman parte de l. Ofrecen un entorno til para el desarrollo y ejecucin de programas, siendo algunas de las tareas que realizan: Manipulacin y modificacin de archivos. Informacin del estado del sistema. Soporte a lenguajes de programacin. Comunicaciones. Gestor de recursos Como gestor de recursos, el Sistema Operativo administra: La CPU (Unidad Central de Proceso, donde est alojado el microprocesador). Los dispositivos de E/S (entrada y salida) La memoria principal (o de acceso directo). Los discos (o memoria secundaria). Los procesos (o programas en ejecucin). y en general todos los recursos del sistema. Administracin de tareas Monotarea: Solamente puede ejecutar un proceso (aparte de los procesos del propio S.O.) en un momento dado. Una vez que empieza a ejecutar un proceso, continuar hacindolo hasta su finalizacin y/o interrupcin. Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de S.O. normalmente asigna los recursos disponibles (CPU, memoria, perifricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente. Administracin de usuarios Monousuario: Si slo permite ejecutar los programas de un usuario uno a uno Multiusuario: Si permite que varios usuarios ejecuten concurrentemente sus sistemas, accediendo a la vez a los recursos de la computadora. Normalmente estos sistemas operativos utilizan mtodos de proteccin de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario. Manejo de recursos Centralizado: Si permite usar los recursos de una sola computadora. Distribuido: Si permite utilizar los recursos (memoria, CPU, disco, perifricos... ) de ms de una computadora al mismo tiempo. En sistemas de multiprogramacin la cpu alterna de programa en programa, en un esquema de concurrencia , es decir que la cpu ejecuta en cierto instante un solo programa, intercambiando muy rpidamente entre uno y otro. El paralelismo (Multiprocesamiento) real de hardware se da en las siguientes situaciones: En ejecucin de instrucciones de programa con ms de un procesador de instrucciones en uso simultneamente. Con la superposicin de ejecucin de instrucciones de programa. Con la ejecucin de una o ms operaciones de entrada / salida. El objetivo es aumentar el paralelismo en la ejecucin.

Un solo procesador puede ser compartido entre varios procesos con cierto algoritmo de planificacin , el cual determina cundo detener el trabajo en un proceso y dar servicio a

otro 1 En cuanto a las jerarquas de procesos es necesario sealar que los Sistemas Operativos deben disponer de una forma de crear y destruir procesos cuando se requiera durante la operacin, teniendo adems presente que los procesos pueden generar procesos hijos mediante llamadas al Sistema Operativo, pudiendo darse ejecucin en paralelo. Estados de Procesos (Prioridades). Durante su existencia un proceso pasa por una serie de estados discretos, siendo varias las circunstancias que pueden hacer que el mismo cambie de estado. Debido a ello se puede establecer una Lista de Listos para los procesos listos y una Lista de Bloqueados para los bloqueados. La Lista de Listos se mantiene en orden prioritario y la Lista de Bloqueados est desordenada, ya que los procesos se desbloquean en el orden en que tienen lugar los eventos que estn esperando. Al admitirse un trabajo en el sistema se crea un proceso equivalente y es insertado en la ltima parte de la Lista de Listos. La asignacin de la cpu al primer proceso de la Lista de Listos se denomina Despacho, que es ejecutado por una entidad del Sistema Operativo llamada Despachador. El Bloqueo es la nica transicin de estado iniciada por el propio proceso del usuario, puesto que las otras transiciones son iniciadas por entidades ajenas al proceso. La manifestacin de un proceso en un Sistema Operativo es un Bloque de Control de Proceso (PCB) Posee las siguientes caractersticas. Estado actual del proceso. Identificacin nica del proceso. Prioridad del proceso. Apuntadores para localizar la memoria del proceso. Apuntadores para asignar recursos. rea para preservar registros. Cuando el Sistema Operativo cambia la atencin de la cpu entre los procesos, utiliza las reas de preservacin del PCB para mantener la informacin que necesita para reiniciar el proceso cuando consiga de nuevo la cpu. Los sistemas que administran los procesos deben poder crear, destruir, suspender, reanudar, cambiar la prioridad, bloquear, despertar y despachar un proceso.

Dar nombre al proceso. Insertar un proceso en la lista del sistema de procesos conocidos. Determinar la prioridad inicial del proceso. Crear el bloque de control del proceso. Asignar los recursos iniciales del proceso. Un proceso puede crear un nuevo proceso, en cuyo caso el proceso creador se denomina proceso padre y el proceso creado proceso hijo y se obtiene una estructura jerrquica de procesos. La destruccin de un proceso implica: Borrarlo del sistema. Devolver sus recursos al sistema. Purgarlo de todas las listas o tablas del sistema. Borrar su bloque de control de procesos. Reanudar procesos Un proceso suspendido no puede proseguir hasta que otro proceso lo reanude. Reanudar (reactivar) un proceso implica reiniciarlo en el punto donde fue suspendido. La destruccin de un proceso puede o no significar la destruccin de los procesos hijos, segn el Sistema Operativo. Generalmente se denomina Tabla de Procesos al conjunto de informacin de control sobre los distintos procesos. Planificacin de procesos Planificacin apropiativa: es la estrategia de permitir que procesos ejecutables (desde el punto de vista lgico) sean suspendidos temporalmente. Planificacin no apropiativa: es la estrategia de permitir la ejecucin de un proceso hasta terminar. Planificacin del procesador: determinar cundo deben asignarse los procesadores y a qu procesos, lo cual es responsabilidad del Sistema Operativo.

Prioridades Las prioridades pueden ser de distintos tipos: Tipos de prioridades Asignadas automticamente por el sistema Asignadas desde el exterior Dinmicas Estticas Asignadas racionalmente Asignadas arbitrariamente .

DIAGRAMAS DE ESTADO Los diagramas de estado muestran el conjunto de estados por los cuales pasa un objeto durante su vida en una aplicacin en respuesta a eventos (por ejemplo, mensajes recibidos, tiempo rebasado o errores), junto con sus respuestas y acciones. .Estado Identifica un periodo de tiempo del objeto (no instantneo) en el cual el objeto est esperando alguna operacin, tiene cierto estado caracterstico o puede recibir cierto tipo de estmulos. Se representa mediante un rectngulo con los bordes redondeados, que puede tener tres compartimientos: uno para el nombre, otro para el valor caracterstico de los atributos del objeto en ese estado y otro para las acciones que se realizan al entrar, salir o estar en un estado (entry, exit o do, respectivamente). Eventos Es una ocurrencia que puede causar la transicin de un estado a otro de un objeto. Esta ocurrencia puede ser una de varias cosas: Condicin que toma el valor de verdadero o falso Recepcin de una seal de otro objeto en el modelo Recepcin de un mensaje Paso de cierto perodo de tiempo, despus de entrar al estado o de cierta hora y fecha. Envo de mensajes Adems de mostrar la transicin de estados por medio de eventos, puede representarse el momento en el cual se envan mensajes a otros objetos. Esto se realiza mediante una lnea punteada dirigida al diagrama de estados del objeto receptor del mensaje. Transicin simple Una transicin simple es una relacin entre dos estados que indica que un objeto en el primer estado puede entrar al segundo estado y ejecutar ciertas operaciones, cuando un evento ocurre y si ciertas condiciones son satisfechas. Transicin interna Es una transicin que permanece en el mismo estado, en vez de involucrar dos estados distintos. Representa un evento que no causa cambio de estado. Se denota como una cadena adicional en el compartimiento de acciones del estado. Acciones: Podemos especificar la solicitud de un servicio a otro objeto como consecuencia de la transicin. Se puede especificar el ejecutar una accin como consecuencia de entrar, salir, estar en un estado, o por la ocurrencia de un evento. Colas: Es una estructura lineal de datos. Una cola es un grupo ordenado de elementos homogneos en el que los nuevos elementos se aaden por un extremo (el final) y se quitan por el otro extremo (el frente). En las colas el elemento que entr primero sale tambin primero, por ello se las llama como listas FIFO (first in, first out) "primero en entrar, primero en salir". La diferencia con las pilas es en el modo de entrada / salida de datos; en las colas se realizan las inserciones al final de la lista, no al principio.

Usos concretos de la cola La particularidad de una estructura de datos de cola es el hecho de que slo podemos acceder al primer y al ltimo elemento de la estructura. As mismo, los elementos slo se pueden eliminar por el principio y slo se pueden aadir por el final de la cola.

Operaciones Bsicas

Crear: se crea la cola vaca. Encolar (aadir, entrar, insertar): se aade un elemento a la cola. Se aade al final de esta. Desencolar (sacar, salir, eliminar): se elimina el elemento frontal de la cola, es decir, el primer elemento que entr. Frente (consultar, front): se devuelve el elemento frontal de la cola, es decir, el primer elemento que entr.

Aplicaciones de las Colas Las Colas tambin se utilizan en muchas maneras en los sistemas operativos para planificar el uso de los distintos recursos de la computadora. Uno de estos recursos es la propia CPU (Unidad Central de Procesamiento). Si esta trabajando en una sistema multiusuario, cuando le dice a la computadora que ejecute un programa concreto, el sistema operativo aade su peticin a su "cola de trabajo". Cuando su peticin llega al frente de la cola, el programa solicitado pasa a ejecutarse. Igualmente, las colas se utilizan para asignar tiempo a los distintos usuarios de los dispositivos de entrada/salida (E/S), impresoras, discos, cintas y dems. El sistema operativo mantiene colas para peticiones de imprimir, leer o escribir en cada uno de estos dispositivos. Representacin de las Colas Se las puede representar por listas enlazadas o por arrays C= Q(1), Q(2)......., Q(n). En cualquier caso se necesitan dos punteros frente (f)

final (r) 100 264 119 48 Las operaciones que se pueden realizar con una cola son: 1. Acceder al primer elemento de la Cola 2. Aadir un elemento al final de la Cola 3. Eliminar el primer elemento de la Cola 4. Vaciar una Cola 5. Verificar el estado de la Cola: vaca, Llena. Verificar si la Cola esta vaca Una operacin muy til es ver si la cola est vaca. Cola Vaca (Cola) devuelve True si la Cola est vaca y False en los dems casos. Ponemos SupCola cuando la cola no est vaca. Tericamente ponemos siempre InsCola, porque en principio, una cola no tiene un tamao limitado. Sin embargo, sabemos de nuestra experiencia con las pilas que ciertas implementaciones requiere que veamos si la estructura est llena antes de aadir otro elemento. Aprovechamiento de la memoria Las colas pueden necesitar cantidad de memoria sobre todo si se disea con un gran numero de elementos. Para evitar este desperdicio de memoria, existe un procedimiento para disear las colas mediante una lista circular. Una pila (stack en ingls) es una lista ordinal o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del ingls Last In First Out, ltimo en entrar, primero en salir) que permite almacenar y recuperar datos. Esta estructura se aplica en multitud de ocasiones en el rea de informtica debido a su simplicidad y ordenacin implcita de la propia estructura. Pila de llamadas La Pila de llamadas es un segmento de memoria que utiliza esta estructura de datos para almacenar informacin sobre las llamadas a subrutinas actualmente en ejecucin en un programa en proceso. Cada vez que una nueva subrutina es llamada, se apila una nueva entrada con informacin sobre sta tal como sus variables locales. En especial, se almacena aqu el punto de retorno al que regresar cuando esta subrutina termine (para volver a la subrutina anterior y continuar su ejecucin despus de esta llamada Para el manejo de los datos se cuenta con dos operaciones bsicas : apilar (push), que coloca un objeto en la pila, y su operacin inversa, retirar (o desapilar, pop), que retira el ltimo elemento apilado. En cada momento slo se tiene acceso a la parte superior de la pila, es decir, al ltimo objeto apilado (denominado TOS, Top of Stack en ingls). La operacin retirar permite la obtencin de este elemento, que es retirado de la pila permitiendo el acceso al siguiente (apilado con anterioridad), que pasa a ser el nuevo TOS. Pila como tipo abstracto de datos A modo de resumen tipo de datos, la pila es un contenedor de nodos y tiene dos operaciones bsicas: push (o apilar) y pop (o desapilar). 'Push' aade un nodo a la parte superior de la pila, dejando por debajo el resto de los nodos. 'Pop' elimina y devuelve el actual nodo superior de la pila. Una metfora que se utiliza con frecuencia es la idea de una pila de platos en una cafetera con muelle de pila. En esa serie, slo la primera placa es visible y accesible para el usuario, todas las dems placas permanecen ocultas. Como se aaden las nuevas placas, cada nueva placa se convierte en la parte superior de la pila, escondidos debajo de cada plato, empujando a la pila de placas. A medida que la placa superior se elimina de la pila, la segunda placa se convierte en la parte superior de la pila.

Pila como tipo abstracto de datos A modo de resumen tipo de datos, la pila es un contenedor de nodos y tiene dos operaciones bsicas: push (o apilar) y pop (o desapilar). 'Push' aade un nodo a la parte superior de la pila, dejando por debajo el resto de los nodos. 'Pop' elimina y devuelve el actual nodo superior de la pila. Una metfora que se utiliza con frecuencia es la idea de una pila de platos en una cafetera con muelle de pila. En esa serie, slo la primera placa es visible y accesible para el usuario, todas las dems placas permanecen ocultas. Como se aaden las nuevas placas, cada nueva placa se convierte en la parte superior de la pila, escondidos debajo de cada plato, empujando a la pila de placas. A medida que la placa superior se elimina de la pila, la segunda placa se convierte en la parte superior de la pila. Dos principios importantes son ilustrados por esta metfora: En primer lugar la ltima salida es un principio, la segunda es que el contenido de la pila est oculto. Slo la placa de la parte superior es visible, por lo que para ver lo que hay en la tercera placa, el primer y segundo platos tendrn que ser retirados.

Metas de los Sistemas de Multiprocesamiento Las metas de los sistemas de multiprocesamiento generalmente son la confiabilidad y la disponibilidad muy altas, como as tambin el incremento del poder de computacin. Distribucin de Ciclos Una estructura de ciclos o de repeticin implica la repeticin de una serie de proposiciones (cuerpo del ciclo) hasta que ocurre alguna condicin de terminacin, por ejemplo: For i = 1 t0 3 A(I)=b(I)+c(I) ; El procesador secuencial realizar en secuencia lo siguiente: A(1)=b(1)+c(1) A(2)=B(2)+C(2) A(3)=B(3)+C(3) En un sistema de multiprocesamiento con tres procesadores disponibles se podran ejecutar concurrentemente. Un compilador que detecte automticamente el paralelismo implcito puede convertir el ciclo del ejemplo 2.2 en lo siguiente: cobegin; A(1)=B(1)+C(1) A(2)=B(2)+C(2) A(3)=B(3)+C(3) :Grados de Acoplamiento en Multiprocesamiento

Los grados de acoplamiento en multiprocesamiento pueden clasificarse en ligeramente acoplados y rgidamente acopaldos Grados de acoplamiento en Descripcin multiprocesamiento Incluye la conexin de dos o ms sistemas independientes por medio de un enlace de comunicacin. Cada sistema tiene su propio Sistema Operativo y almacenamiento. Los sistemas pueden funcionar independientemente y se comunican cuando sea necesario. Los sistemas separados pueden acceder a los archivos de los otros e intercambiar tareas a procesadores menos cargados. Utiliza un solo almacenamiento compartido por varios procesadores. Emplea un solo Sistema Operativo que controla todos los procesadores y el hardware del sistema.

Ligeramente acoplado

Rgidamente acoplado

Tabla 2.5: Grados de acoplamiento en multiprocesamiento. Organizacin Maestro / Satlite ( Servidor esclavos) Un procesador est diseado como el servidor o maestro y los otros como esclavos. El procesador maestro es de propsito general y realiza operaciones de Entrada / Salida y computaciones. Los procesadores esclavos slo realizan computaciones. Los procesos limitados por computacin pueden ejecutarse con efectividad en los esclavos Los procesos limitados por la Entrada / Salida ejecutados en los esclavos generan frecuentes llamadas de servicios al procesador maestro, pudiendo resultar ineficientes. Si falla esclavo se pierde capacidad computacional pero el sistema no falla. Si falla el servidor el sistema falla al no poder efectuar operaciones de Entrada / Salida, por lo que un esclavo debera asumir las funciones del maestro previo cambio de los perifricos y reinicio del sistema. En el multiprocesamiento simtrico todos pueden hacer Entrada / Salida. Procesadores Separados Cada procesador tiene su propio Sistema Operativo y responde a interrupciones de los usuarios que operan en ese procesador. Existen tablas de control con informacin global de todo el sistema (por ejemplo, lista de procesadores conocidos por el Sistema Operativo) a las que se debe acceder utilizando exclusin mutua. Es ms confiable que la organizacin maestro / satlite. Cada procesador controla sus propios recursos dedicados. La reconfiguracin de los dispositivos de Entrada / Salida puede implicar el cambio de dispositivos a diferentes procesadores con distintos Sistemas Operativos. La contencin sobre las tablas del Sistema Operativo es mnima. Tratamiento Simtrico Es la organizacin ms complicada de implementar y tambin la ms poderosa y confiable. El Sistema Operativo administra un grupo de procesadores idnticos, donde cualquiera puede utilizar cualquier dispositivo de Entrada / Salida y cualquiera puede referenciar a cualquier unidad de almacenamiento. El Sistema Operativo precisa cdigo reentrante y exclusin mutua.

Es posible equilibrar la carga de trabajo ms precisamente que en las otras organizaciones. Adquieren significativa importancia el hardware y el software para resolucin de conflictos. Todos los procesadores pueden cooperar en la ejecucin de un proceso determinado. El procesador ejecutivo es el responsable (uno slo) en un momento dado de las tablas y funciones del sistema; as se evitan los conflictos sobre la informacin global. Rendimiento del Sistema de Multiprocesamiento An con multiprocesamiento completamente simtrico, la adicin de un nuevo procesador no har que la capacidad de ejecucin del sistema aumente segn la capacidad del nuevo procesador, siendo las causas las siguientes: Hay sobrecarga adicional del Sistema Operativo. Recuperacin de Errores Una de las capacidades ms importantes de los Sistemas Operativos de multiprocesadores es la de soportar fallas de hardware en procesadores individuales y continuar su operacin. Debe existir el soporte correspondiente en el Sistema Operativo. Las tcnicas de recuperacin de errores incluyen los siguientes aspectos: -Los datos crticos (del sistema y de usuario) deben mantenerse en copias mltiples y en bancos de almacenamiento separados. -El Sistema Operativo debe ejecutar efectivamente con la configuracin mxima y con subconjuntos ante fallas. -Debe haber capacidad de deteccin y correccin de errores de hardware sin interferir con la eficiencia operacional del sistema. -Se debe utilizar la capacidad ociosa del procesador para tratar de detectar posibles fallos antes de que se produzcan. -El Sistema Operativo debe dirigir un procesador operativo para que tome el control de un proceso que se estaba ejecutando en un procesador que falla. Todas las llamadas al supervisor pueden ser ejecutadas en todos los procesadores, inclusive las de Entrada / Salida. Si un programa en ejecucin en un procesador pide una operacin de Entrada / Salida en un dispositivo conectado a un procesador diferente, el procesador puede continuar ejecutando el trabajo y la Entrada / Salida se coloca en una cola para su iniciacin por el procesador apropiado. Se considera procesador ejecutante al que est ejecutando un proceso determinado. Se considera procesador propietario al que est conectado a los diferentes dispositivos utilizados por el proceso. Es ms eficiente que la organizacin maestro / satlite, ya que los requerimientos de Entrada / Salida se encolan y no sobrecargan con intercambio de contexto y a que en la organizacin maestro / satlite las peticiones de Entrada / Salida en el satlite provocan un intercambio de contexto en el maestro. Cada procesador puede ejecutar el planificador para buscar el siguiente trabajo a ejecutar, de forma que un proceso determinado se ejecuta en diferentes procesadores en distintos momentos; adems, el MPS utiliza una sola cola de trabajos y cada procesador puede seleccionar trabajos de ella, con lo cual se equilibra la carga entre los procesadores. Para minimizar la contencin en el despacho de procesos, los relojes de los procesadores tienen oblicuidad, debido a ello las interrupciones de reloj ocurren en diferentes momentos. Tendencias de los Multiprocesadores Todo indica que el uso de los multiprocesadores se incrementar considerablemente en el futuro

SINCRONIZACION: 1. En forma general, sincronizar es hacer que coincidan en el tiempo dos o ms fenmenos. En otras palabras, sincronizar se refiere a que dos o ms elementos u operaciones sean programadas para que ocurran en un momento predefinido de tiempo o lugar. Algoritmos y tecnicas de Sincronizacin La Sincronizacin es el proceso por el cual dos componentes intercambian datos o informacin. Los datos intercambiados pueden afectar la informacin uno o de ambos componentes. Se dice que esto se hace por medio de protocolos de sincronizacin, donde ambos componentes "conocen" la forma de intercambio de datos.

Figura 3.1. Sincronizacin de Informacin La importancia de la sincronizacin radica en el mantenimiento de la confiabilidad e integridad de la informacin. Entre los protocolo se encuentran los siguientes: Slow sync : En trminos generales cuando se va ha sincronizar con este protocolo la pda transfiere todos los datos hacia el PC. y compara uno a uno los registro para ver cual ha sufrido cambios, se ha borrado o ha sido adicionado.

Entoces cada uno de los datos existentes en la Base de datos o archivo de la pda pasa a sincronizar al pc, por eso se denomina slow sync. Un ejemplo de datos pude ser la sincronizacin de pedidos, los cuales se requieren que pasen todos para su posterior facturacin. Fast sync : Este protocolo de sincronizacin es mucho mas rpido que el anterior y se basa en que slo pasan al servidor los datos que han tenido modificaciones, en otras palabras, los datos que no han sufrido cambios, borrados o adiciones no se sincronizan.

Un ejemplo tpico de sincronizacin con este protocolo seria el del mantenimiento de una agenda de citas. Donde no se interesa sincronizar las citas que no han sufrido modificaciones. Si algunas citas permanecen igual se quedan sin sincronizar. Este protocolo de sincronizacin utiliza una "bandera" de estado que permite "marcar" los registros que han sufrido modificaciones desde la ultima fecha de sincronizacin. Cuando se sincronizan los el Pc y la Pda pueden ocurrir los siguientes eventos:

Insercin: el registro nuevo en la Pda es adicionado al servidor Modificacin : el registro de la Pda Remplaza al del servidor. Borrado : el Registro en el servidor es borrado Guardado : el Registro se guarda en el servidor. Cuando termina la sincronizacin los "banderas" de estado se anulan o "Resetean". Y se guarda la fecha de sincronizacin. Per-To-Per: es otro protocolo de sincronizacin donde todos y cada uno de los dispositivos se sincronizan sin la necesidad de un computador central o servidor como ocurre en el caso del protocolo Un ejemplo de esto seria la sincronizacin en un sistema de pedidos donde lo que se necesita es descargar los pedidos y que el proceso de facturacin se encarge del resto. Claro esta que se puede sincronizar directamente sobre la base de datos y hacer la depuracin en el proceso de sincronizacin TEST AND SET: es una instruccin que se usan para escribir en una posicin de memoria y el retorno de su antiguo valor. Si varios procesos pueden acceder a la misma memoria, y si un proceso est llevando a cabo una prueba-y-set, ningn otro proceso puede comenzar otra prueba-y-set hasta que el primer proceso se lleva a cabo. RAM de doble puerto (DPRAM) es un tipo de memoria de acceso aleatorio que permite mltiples lecturas o escrituras que se produzca casi al mismo tiempo, a diferencia de un solo puerto de La ram que permite un solo proceso a la vez. Esta aplicacin de hardware de DPRAM puede trabajar de muchas maneras. Aqu hay dos variantes, las cuales describen una DPRAM que proporciona exactamente dos puertos, lo que permite dos componentes separados electrnicos (como 2 CPUs) el acceso a todos los lugares de memoria en el DPRAM. Variacin 1 Cuando CPU 1 emite una instruccin de prueba-y-set, primero DPRAM hace una "nota interna" de estar almacenando la direccin de la ubicacin de la memoria en un lugar especial. Si en este punto, dos CPU pasan a ordenar la prueba-y-set para la misma posicin de memoria, el DPRAM comprueba en primer lugar su "nota interna", reconoce la situacin, y las cuestiones de una interrupcin, lo que le dice a la CPU 2 que debe espere y vuelva a intentarlo. Variacin 2 Cuando CPU 1 emite una instruccin de prueba y de ajuste a escribir en "posicin de memoria A". El DPRAM no almacena inmediatamente el valor en una posicin de memoria, sino que al mismo tiempo se mueve el valor actual a un registro especial. Si en este punto, dos CPU emite una test-and-set a la misma ubicacin de una memoria, la DPRAM detecta el valor del indicador especial, y como en la variacin de 1, emite una interrupcin de BUSY.

Semforos Un semforo es un tipo de datos abstracto que permite el uso de un recurso de manera exclusiva cuando varios procesos estn compitiendo.

El estado interno del semforo cuenta cuantos procesos todava pueden utilizar el recurso. Se puede realizar, por ejemplo, con un nmero entero que nunca llega a ser negativo. Exiten tres operaciones con un semforo: init(), wait(), y signal() init() : Inicializa el semforo antes de que cualquier proceso haya ejecutado ni una operacin wait() ni una operacin signal() al lmite de nmero de procesos que tengan derecho a acceder el recurso. Si se inicializa con 1, se ha contruido un semforo binario. wait(): Si el estado indica cero, el proceso se queda atrapado en el semforo hasta que sea despertado por otro proceso. Si el estado indica que un proceso ms puede acceder el recurso se decrementa el contador y la operacin termina con exito. Signal(): Una vez se ha terminado el uso del recurso, el proceso lo sealiza al semforo. Si queda algn proceso bloqueado en el semforo uno de ellos sera despertado, sino se incrementa el contador. En algunas implementaciones es posible comprobar si se haya despertado un proceso con xito en caso que hubiera alguno bloqueado. Para despertar los procesos se puede implementar varias formas que se destinguen en sus grados de justicia, por ejemplo con un simple sistema tipo FIFO. Observamos los siguiente detalles: Si algn proceso no libera el semforo, se puede provocar un bloqueo. No hace falta que un proceso libere su propio recurso, es decir, la operacin signal() puede sea ejecutada por otro proceso. Con simples semforos no se puede imponer un orden en los procesos accediendo a diferentes recursos. El semforo delay atrapa a los procesos que superan el nmero mximo permitido. Unas principales desventajas de semforos son: no se puede imponer el uso correcto de los wait()s y signal()s no existe una asociacin entre el semforo y el recurso entre wait() y signal() el usuario puede realizar cualquier operacin con el recurso Multiprocesamiento o multiproceso es tradicionalmente conocido como el uso de mltiples procesos concurrentes en un sistema en lugar de un nico proceso en un instante determinado. Como la multitarea que permite a mltiples procesos compartir una nica CPU, mltiples CPUs pueden ser utilizados para ejecutar mltiples hilos dentro de un nico proceso. El multiproceso para tareas generales es, a menudo, bastante difcil de conseguir debido a que puede haber varios programas manejando datos internos (conocido como estado o contexto) a la vez. Los programas tpicamente se escriben asumiendo que sus datos son incorruptibles. Sin embargo, si otra copia del programa se ejecuta en otro procesador, las dos copias pueden interferir entre s intentando ambas leer o escribir su estado al mismo tiempo. Para evitar este problema se usa una variedad de tcnicas de programacin incluyendo semforos y otras comprobaciones y bloqueos que permiten a una sola copia del programa cambiar de forma exclusiva ciertos valores. Procesamiento de Interrupciones Una interrupcin es un evento que altera la secuencia en que el procesador ejecuta las instrucciones; es un hecho generado por el hardware del computador Cuando ocurre una interrupcin, el Sistema Operativo: Obtiene el control.

Salva el estado del proceso interrumpido, generalmente en su bloque de control de procesos. Analiza la interrupcin. Transfiere el control a la rutina apropiada para la manipulacin de la interrupcin.

Una interrupcin puede ser iniciada por un proceso en estado de ejecucin o por un evento que puede o no estar relacionado con un proceso en ejecucin. Generalmente las interrupciones se pueden clasificar por tipos segn el siguiente detalle: SVC (llamada al supervisor): es una peticin generada por el usuario para un servicio particular del sistema, por ejemplo, realizacin de Entrada / Salida u obtencin de ms memoria. Entrada / Salida: son iniciadas por el hardware de Entrada / Salida, indicando a la cpu que ha cambiado el estado de un canal o dispositivo, por ejemplo, finalizacin de Entrada / Salida u ocurrencia de un error. Externas: son causadas por distintos eventos, por ejemplo, expiracin de un cuanto en un reloj de interrupcin o recepcin de una seal de otro procesador en un sistema multiprocesador. De reinicio: ocurren al presionar la tecla de reinicio o cuando llega una instruccin de reinicio de otro procesador en un sistema multiprocesador. De verificacin de programa: son causadas por errores producidos durante la ejecucin de procesos, por ejemplo: Un intento de dividir por cero. Un intento de un proceso de usuario de ejecutar una instruccin privilegiada. Un intento de ejecutar un cdigo de operacin invlido. De verificacin de mquina: son ocasionadas por un mal funcionamiento del hardware. Tipo de Interrupcin Descripcin SVC Entrada / Salida Externa De Reinicio De Verificacin Programa De Verificacin Mquina de de Llamada al Sistema Operativo Cambio de estado de un canal o dispositivo Evento externo al sistema Reinicio del procesamiento Errores de procesos Errores de hardware

Tabla 2.1: Tipos de interrupciones. El Sistema Operativo incluye rutinas llamadas Manipuladores de Interrupciones (IH) para procesar cada tipo diferente de interrupcin. Cuando se produce una interrupcin el Sistema Operativo efecta las siguientes acciones: Salva el estado del proceso interrumpido. -Dirige el control al manipulador de interrupciones adecuado. Se aplica la tcnica de Cambio de Contexto .

-Los Sistemas Operativos instrumentan informacin de control que puede aparecer como las Palabras de Estado de Programa (PSW), las cuales controlan el orden de ejecucin de las instrucciones y contienen informacin sobre el estado del proceso. Existen tres tipos de PSW, que son la actual, la nueva y la vieja. La PSW Actual almacena la direccin de la prxima instruccin que ser ejecutada e indica los tipos de instrucciones actualmente habilitadas e inhabilitadas. En un sistema de interrupciones existe Solo una PSW actual. Seis PSW nuevas (una para cada tipo de interrupcin). Seis PSW viejas (una para cada tipo de interrupcin). Tecnicas del abrazo mortal. Los abrazo mortales estn muy desarrollados y es un problema muy notables en el campo de los sistemas operativos. El abrazo mortal es un conjunto de procesos en un estado de espera tal que ninguno de ellos tiene suficientes criterios para continuar su ejecucin. Definicin de Abrazo Mortal (Deadlock) Un conjunto de procesos est en un abrazo mortal cuando todos los procesos en ese conjunto estn esperando un evento que slo puede ser causado por otro proceso en el conjunto. Los eventos a los cuales nos estamos refiriendo son concernientes con la asignacin y liberacin de recursos principalmente. Sin embargo, otro tipo de eventos pueden llevar a la existencia de abrazos mortales como la espera de un recurso para continuar una operacin. Recursos Se entiende como recurso un elemento que un programa o proceso puede utilizar en la computadora donde se est ejecutando. Se engloban bajo el concepto de recurso, tanto los dispositivos hardware (por ejemplo, una impresora), como una cierta cantidad de informacin (por ejemplo, un registro de un archivo). No obstante, en una computadora pueden existir muchos tipos de recursos, e incluso varios del mismo tipo. Por ello definiremos un recurso como algo que puede ser utilizado por un solo proceso en un instante dado. Para que el proceso pueda utilizar un recurso, deber realizar la siguiente secuencia de operaciones: Cdigos de control El cdigo de control es un mecanismo de deteccin de errores utilizado para verificar la correccin de un dato, generalmente en soporte informtico. Los dgitos de control se usan principalmente para detectar errores en el tecleo o transmisin de los datos. Generalmente consisten en uno o ms caracteres numricos o alfabticos aadidos al dato original y calculados a partir de ste mediante un determinado algoritmo. Algunos de los ejemplos de uso frecuentes son los nmeros de identificacin personal, cdigos de barras, tarjetas de crdito y cdigos bancarios. 1 Denominacin 2 Utilizacin 3 Clculo del dgito verificador 3.1 Mdulo 11 3.2 Mdulo 10 No existe unanimidad en la denominacin de esta tcnica en el mundo hispano parlante. La traduccin directa del ingls check digit sera dgito de chequeo, de verificacin o de control. Estas denominaciones solamente son aplicables cuando se trata, efectivamente, de uno o varios dgitos y no de otros caracteres. Ms correctas son las variantes carcter de chequeo, de verificacin o de control, aunque sta ltima

tiene otro significado especfico en el contexto de la informtica. Es utilizado normalmente en representaciones numricas que exijan integridad, como por ejemplo:

Documentos de identificacin: Algunos documentos de identificacin como la cdula de identidad o el DNI dependiendo del pas. Cdigos de pagos: Nmero de factura, nmero de identificacin tributaria, etc. Cdigos en general: Cuenta bancaria, cuenta corriente, nmero de matrcula, cdigo de barras, ISBN, etc.

Clculo del dgito verificador Mtodo de clculo de esos dgitos vara conforme el caso. Sin embargo, muchos de ellos se basan en dos rutinas tradicionales: Mdulo 11 y Mdulo 10. El mtodo denominado mdulo 11 detecta errores en un solo dgito e intercambios simples o dobles. Se basa en aplicar un factor de chequeo ponderado a cada dgito del nmero original. El clculo se realiza como sigue:1 1. A cada dgito del nmero base se le asigna un factor de chequeo ponderado. Dicho factor ser 2 para el dgito menos significativo (el que est ms a la derecha) y, en orden, 3, 4, 5, 6, 7 para los siguientes. Si hubiera ms de 6 dgitos la secuencia se repetira de modo que el octavo dgito se multiplicara por 2, el noveno por 3, etc. 2. Cada dgito del nmero base se multiplica por el factor de chequeo asignado. 3. Se suman los resultados de todas las multiplicaciones. 4. Al resultado de la suma se le calcula el mdulo 11 (de ah el nombre del mtodo), es decir, el resto de la divisin entera entre 11. 5. A 11 se le resta el mdulo calculado en el punto anterior. Si el resultado de la resta es < 10, dicho resultado es el dgito de control que buscbamos. Si el resultado es 11 el dgito de control es 0. Si el resultado es 10 el dgito de control resultante no puede utilizarse. El siguiente esquema desarrolla un ejemplo de clculo: Nmero ejemplo: 41261533-? Pasos 1 y 2 |4|1|2|6|1|5|3|3|-|?| | | | | | | | | x3 x2 x7 x6 x5 x4 x3 x2 | | | | | | | | =12 =2 =14 =36 =5 =20 =9 =6 Paso 3 12 +2 +14 +36 +5 +20 +9 +6 = 104 Paso 4 104 mod 11 = 5 (ya que 104 = 11 x 9 + 5) Paso 5 11 - 5 = 6 Resultado = 41261533-6 A veces se usan variantes, como sustituir el resultado por una letra cuando el resultado es 10. Por ejemplo, en Chile el Rol nico Nacional (RUN) y el Rol nico

Tributario (RUT) utilizan este sistema y cuando el resultado del algoritmo es 10 el carcter de control es la letra "K". Mdulo 10 Conforme al esquema de abajo, cada dgito del nmero, comenzando de la derecha para la izquierda (menos significativo para el ms significativo) es multiplicado, en orden, por 2, despus 1, despus 2, despus 1 y as sucesivamente. Nmero ejemplo: 261533-4 +---+---+---+---+---+---+ +---+ |2|6|1|5|3|3|-|4| +---+---+---+---+---+---+ +---+ | | | | | | x1 x2 x1 x2 x1 x2 | | | | | | ------------------------------------------------------------------------------------------------------------------Tipo de cdigos detectores Paridad simple (paridad horizontal) Consiste en aadir un bit de ms a la cadena que queremos enviar, y que nos indicar si el nmero de unos (bits puestos a 1) es par o es impar. Si es par incluiremos este bit con el valor = 0, y si no es as, lo incluiremos con valor = 1. Ejemplo de generacin de un bit de paridad simple: Queremos enviar la cadena 1110100: 1 Contamos la cantidad de unos que hay: 4 unos 2 El nmero de unos es par por tanto aadimos un bit con valor = 0 3 La cadena enviada es 11101000 El receptor ahora, repite la operacin de contar la cantidad de unos que hay (menos el ltimo bit) y si coincide, es que no ha habido error. Problemas de este mtodo: Hay una alta probabilidad de que se cuelen casos en los que ha habido error, y que el error no sea detectado, como ocurre si se cambian dos nmeros en la transmisin en vez de uno. Paridad cruzada (paridad horizontal-vertical) Para mejorar un poco el mtodo anterior, se realiza una paridad que afecte tanto a los bits de cada cadena o palabra como a un conjunto de todos ellos. Siempre se utilizan cadenas relativamente cortas para evitar que se cuelen muchos errores. Para ver ms claro este mtodo, se suelen agrupar los bits en una matriz de N filas por K columnas, luego se realizan todas las paridades horizontales por el mtodo anterior, y por ltimo, se hace las misma operacin de calcular el nmero de unos, pero ahora de cada columna. La probabilidad de encontrar un solo error es la misma, pero en cambio, la probabilidad de encontrar un nmero par errores ya no es cero, como en el caso anterior. Aun as, existen todava una gran cantidad de errores no detectables Un ejemplo de paridad cruzada (o de cdigo geomtrico) 1 Tenemos este cdigo para transmitir: 1100101111010110010111010110 2 Agrupamos el cdigo en cada una de las palabras, formando una matriz de N x K: 1100101

1110101 1001011 1010110 3 Aadimos los bits de paridad horizontal: 1100101 0 1110101 1 1001011 0 1010110 0 4 Aadimos los bits de paridad vertical: 1100101 0 1110101 1 1001011 0 1010110 0 0001101 1 Una vez creada la matriz, podemos enviar sta por filas, o por columnas. Enviando las palabras por columnas aumentamos la posibilidad de corregir una palabra que haya sufrido un error de rfaga (errores que afectan a varios bits consecutivos, debidos a causas generalmente electrnicas, como chispazos, y que haran que se perdiera toda una palabra completa). Suma de comprobacin Es un mtodo sencillo pero eficiente slo con cadenas de palabras de una longitud pequea, es por esto que se suele utilizar en cabeceras de tramas importantes u otras cadenas importantes y en combinacin con otros mtodos. Funcionalidad: consiste en agrupar el mensaje a transmitir en cadenas de una longitud determinada L no muy grande, de por ejemplo 16 bits. Considerando a cada cadena como un nmero entero numerado segn el sistema de numeracin 2L 1. A continuacin se suma el valor de todas las palabras en las que se divide el mensaje, y se aade el resultado al mensaje a transmitir, pero cambiado de signo. Con esto, el receptor lo nico que tiene que hacer es sumar todas las cadenas, y si el resultado es 0 no hay errores. Ejemplo: Mensaje 101001110101 1 Acordar la longitud de cada cadena: 3 2 Acordar el sistema de numeracin: 23 1 = 7 3 Dividir el mensaje: 101 001 110 101 4 Corresponder a cada cadena con un entero: 5 1 6 5 5 Sumar todos los valores y aadir el nmero cambiado de signo: -17 6 Enviar 5 1 6 5 -17 codificado en binario El receptor: 1 Suma todos los valores si = 0 procesa el mensaje sino se ha producido un error. Este mtodo al ser ms sencillo es ptimo para ser implementado en software ya que se puede alcanzar velocidades de clculo similares a la implementacin en hardware ADMINISTRACION DE DISPOSITIVOS La administracin de dispositivos, es la administracin de todos los recursos del hardware disponible, tanto los estndar que viene de fabricas, como las que se van agregando para hacer ms poderosa o actualizar la PC. Todo dispositivo necesita presentarse al sistema operativo, agregando un pequeo programa que permite su uso. Este programa es llamado controlador. De aqu el controlador es un software que

utiliza el sistema operativo para especificar de hardware, como puede ser cualquier dispositivo Controlador de dispositivo, en informtica, Es el fragmento de software capaz de proveer una capa de abstraccin entre el sistema y un dispositivo determinado. Administracin de Canales Todos los perifricos se encuentran vinculados a la CPU a travs de canales de distinto tipo. Un canal no es slo un cable, sino que est constituido, adems, por un procesador de entrada/salida que puede trabaja simultneamente con el procesador de la CPU y que permite el trabajo en multiprogramacin. Hay canales que pueden realizar de a una operacin por vez y otros que puede realizar ms de una. Todo canal puede tener conectadas varias unidades perifricas. Algunos canales exigen que las unidades sean del mismo tipo y otros admiten unidades de distinto tipo. Considerando que cada programa que se est ejecutando puede solicitar distintas operaciones de entrada/salida, es necesario que un programa residente se encargue de lograr que todas esas operaciones se ejecutan de la manera ms eficiente posible. Cuando un programa efecta una interrupcin pidiendo la ejecucin de una operacin de entrada/salida, el supervisor debe analizar qu canal deber ser utilizado para atender ese requerimiento; determinado el canal, deber verificar el tipo de canal, el estado en que se encuentra y si existen operaciones pendientes para ese canal. Si el canal se encuentra en uso, el residente registrar la operacin de entrada/salida en una cola de espera que normalmente no tiene prioridades, es decir que se irn realizando en el mismo orden en que fueron solicitadas. Si el equipo no ha sido correctamente configurado los canales pueden convertirse en un cuello de botella. Administracin de dispositivos Tenemos en este caso 2 tipos de dispositivos: los de acceso directo que permiten el acceso compartido entre distintos programas (unidades de disco); y los de acceso secuencial que son dispositivos de acceso dedicado (cinta, impresora) Impresora : Es uno de los dispositivos ms lentos, por eso una gran cantidad de sistemas operativos cuentan con una facilidad llamada SPOOLING u operacin perifrica simultnea en lnea. Cada vez que un programa abre un archivo asignado a la impresora, el supervisor abre un archivo en una unidad de acceso directo (generalmente en disco magntico). Adems, cada vez que un programa solicita una operacin de impresin, el residente desva la impresin y graba la lnea en el archivo correspondiente. Esto permite no slo que varios programas impriman intercaladamente, sino tambin que un mismo programa genere ms de un listado en la misma ejecucin. Es decir que el spooling hace independizar totalmente los conceptos de impresora fsica e impresora lgica. El computador tendr todas las impresoras virtuales necesarias independiente de las impresoras fsicas. Pero esas imgenes de impresin que se grabarn en disco magntico ocuparn un considerable lugar en dicho soporte que debe tener presente al configurar el equipo. El sistema operativo es quien cumple con las actividades conducentes a concretar la impresin fsica, es decir el pase del soporte de spool a impresin. UNIDADAES DE CINTA MAGNETICA Las cintas magnticas de almacenamiento de datos han sido usadas para el almacenamiento de datos durante los ltimos 50 aos. En este tiempo se han hecho varios avances en la composicin de la cinta, la envoltura, y la densidad de los datos. La principal diferencia entre el almacenamiento en cintas y en discos es que la cinta es un medio de acceso secuencial, mientras que el disco en un medio de acceso aleatorio.

Hay dos caractersticas clave para clasificar las tecnologas de cintas magnticas. La primera es la anchura de la cinta. La anchura ms comn de una cinta de alta capacidad ha sido como mximo de media pulgada. Existen muchos otros tamaos y la mayora hFormatos de IBM Los ordenadores IBM de los 50 usaban cinta cubierta de xido-frrico similar a la usada en la grabacin de audio. La tecnologa de IBM pronto se convirti en el estndar de la industria. Las dimensiones de una cinta magntica eran 0.5" (12.7 mm) de ancho y estaba montada en bobinas intercambiables de 10.5 pulgadas (267 mm) de dimetro. Diferentes longitudes de cinta estaban disponibles con 1200', 2400' con una milipulgada y media de grosor fueron algo estndar. Despus, en los 80 cintas ms largas, como 3600' estuvieron disponibles, pero solo con un muy delgado plstico Mylar(TM). La mayora de los lectores podan soportar bobinas de un tamao mximo de 10.5". Con la introduccin del sistema IBM 360, las cintas de 9 pistas fueron comnmente usadas para soportar caracteres de 8 bits o de un byte. Las cintas de 7 pistas usaban un hueco intermedio de 0.75 pulgadas. Las cintas de 9 pistas 800 NRZI y 1600 codificaciones de fase y un hueco intermedio de 0.6 pulgadas entre grabaciones de datos para permitir que la cinta parase. Las cintas '6250 Group Coder Recording' usaban un muy estrecho hueco intermedio de 0.3 pulgadas. Ambas cintas, las de 7 pistas y las 9, tenan pegatinas reflectantes colocadas cerca del final y el principio de la cinta para sealar el comienzo y el fin de la cinta al hardware. La densidad efectiva de grabacin aument a travs del tiempo. Las densidades comunes en las cintas de 7 pistas comenzaron en 200, luego 556 y finalmente 800 caracteres por pulgada. La cinta de 9 pistas tena densidades de 800, 1600, y 6250 caracteres por pulgada. Desde entonces, multitud de formatos de cinta han sido usados. Viabilidad Las cintas se mantienen como una alternativa a los discos debido a su alta densidad de bit y su bajo coste por bit. Las cintas han ofrecido histricamente ventajas en esas dos reas sobre los discos duros en la temtica de ser un producto viable para copias de seguridad. El rpido desarrollo en la densidad y el precio de los discos rigidos, choca con la poca innovacin en el almacenamiento en cintas, habiendo reducido el mercado de las cintas de almacenamiento. La unidad de cinta es un dispositivo de acceso secuencial, esto quiere decir que no puede saltar sobre la superficie del cassette como los discos. La cinta magntica es frecuentemente usada para respaldar el contenido de las unidades de disco duro, adems , es muchas veces el medio elegido para almacenar archivos grandes que se leen y procesan de manera secuencial.. Si se desea acceder a algn registro se debe primero pasar por los primeros registros hasta llegar al deseado. Debido a que se debe acceder secuencialmente; es muy difcil leer y escribir en una misma cinta.

ALMACENAMIENTO DE DATOS EN CINTA MAGNTICA

Los datos se almacenan en forma de pequeas marcas en el material magnetizable que cubre una cara de la cinta de plstico. La superficie recubierta de la cinta se divide en columnas verticales (o cuadros) e hileras horizontales llamadas canales o pistas. En muchos sistemas de cintas actuales se emplea el cdigo BCD de 8 bits con un formato de cinta magntica de nueve pistas. Hoy en da es comn utilizar 9 pistas para grabar datos en carretes de cinta estndar de media pulgada de ancho. Sin embargo, hace poco se idearon sistemas de cinta ms modernos que graban 18 pistas de datos en la misma superficie. La cinta de estos sistemas se almacena en cartuchos de 10X13 cm. Dado que cualquier cinta magntica es un medio continuo, Como es posible identificar registros individuales en cada cinta? la respuesta es que pueden separarse los registro mediante espacios en blanco llamado separacin entre registros. Esta separacin se crea automticamente al grabar los datos en la cinta. Cuando se leen los datos desde un registro de una cinta en movimiento al procesador, la cinta se detiene al llegar a una sedacin. La cinta permanece inmvil hasta que se termine de procesar el registro y a continuacin se mueve otra vez para pasar el siguiente registro a la computadora. El procedimiento se repite hasta que se procesa todo el archivo, los archivos pueden ser de longitudes variables. Si la cinta contiene un gran nmero de registros muy cortos y si cada uno de los registros esta separado por medio de una separacin entre registros es posible que mas de la mitad de la cinta este en blanco y que se interrumpa constantemente el movimiento de la cinta. Para evitar esta situacin ineficiente, es posible unir varios registros cortos para formar un bloque de cinta. LECTURA Y ESCRITURA Si en el casete hay registros cortos y largos mezclados, la lectura y escritura en el mismo casete se vuelve desesperante. Si se almacena cada registro lgico en la cinta como un solo registro fsico no puede escribirse registros con longitudes diferentes en el mismo espacio. El registro mas largo borrara parte del registro siguiente, mientras que el registro mas corto dejara parte del registro mas antiguo lo que producir un error. Esto se puede solucionar con dos alternativas, en la primera se necesitan hacer los siguientes pasos: a. Encontrar el registro lgico anterior al deseado. b. Encontrar el comienzo del registro lgico deseado. c. Avanzar el casete para encontrar el resto del registro lgico deseado. d. Rebobinar para encontrar el registro lgico siguiente. En la segunda alternativa se desperdicia mucho espacio de casete, si los registros estaban ordenados alfabticamente o de otra forma pronto estarn completamente desordenados porque, en el registro que se va a leer hay una merca o etiqueta que indica en que numero de registro lgico se encuentra la informacin. Se recomienda tener dos unidades de cinta, una para leer y otra para escribir. CABEZA DE LECTURA/ESCRITURA Una unida de cinta de 9 pistas cuenta con 9 cabezas de L/E. Al leerse la pista los patrones magnetizados de la cinta inducen pulsos de corriente en las bobinas de lectura y estos pulsos constituyen los datos que se transmiten al procesador. Durante la operacin de grabacin fluyen pulsos elctricos por las bobinas de grabacin de las pistas apropiadas, y que hacen que el recubrimiento de oxido de la cinta quede magnetizado conforme el padrn apropiado. VENTAJAS Y LIMITACIONES Ventajas:

Alta densidad de datos: Un carrete comn de cinta de 10 plg. de dm. Tiene una longitud de 2400ft. Y puede grabar 800,1600,6250 caracteres en cada pulgada dependiendo de la unidad de cinta que utilice, por lo tanto, si se graban 6250 caracteres en una pulgada de cinta y si la cinta tiene una longitud de 28800 pulgadas entonces la capacidad mxima de la cinta ser de 180 millones de caracteres. Adems, como ya se vio, los cartuchos modernos de 18 pistas pueden lograr una densidad de datos 6 veces mayor. Bajo costo y facilidad de manejo.- Un carrete de 10 pulgada cuesta menos de 20 dls. y dado que el carrete es compacto y pesa menos de 1 kg. y medio, se utiliza para utiliza para el procesamiento por lotes. Es necesario leer y procesar toda la cinta para actualizar todos los registros de un archivo organizados en forma secuencial. Si se requiere acceso frecuente a los registros del archivo en forma rpida y aleatoria, el archivo no deber almacenarse en cinta magntica; se requerira demasiado tiempo de operador para montar y desmontar cintas, se desperdiciara mucho tiempo de maquina en la lectura de registros que no necesitan. Problemas ambientales.- Las partculas de polvo y la falta de control de los niveles de la temperatura o humedad pueden causar errores en la lectura de cintas, las cintas y sus envase deben etiquetarse y controlarse cuidadosamente para no borrar por error un archivo importante. Mtodos de acceso sobre archivos: - Sam (Sequential acces mode ) - Isam (Index sequential access method) - Vsam (Virtual sequential acceess method ) - Random ( Acceso al Azar)

En ciencias de la computacin, el acceso secuencial significa que un grupo de elementos es accedido en un predeterminado orden secuencial(un registro a la vez). El acceso secuencial es a veces la nica forma de acceder a los datos, por ejemplo en una cinta de casete. Tambin puede ser el mtodo de acceso elegido, para simplemente procesar una secuencia de datos en orden. En las estructuras de datos, se dice que una estructura tiene acceso secuencial si solo podemos visitar los valores contenidos en un determinado orden. El ejemplo trivial, es la lista enlazada. ISAM son siglas de Indexed Sequential Access Method (Mtodo de Acceso Secuencial Indexado), se trata de un mtodo para almacenar informacin a la que se pueda acceder rpidamente. ISAM fue desarrollado originalmente por IBM y en la actualidad forma parte del almacenamiento bsico de muchos sistemas de bases de datos, tanto relacionales como de otros modelos.
ISAM es muy fcil de entender e implementar, puesto que bsicamente consiste en el acceso directo y secuencial a un archivo en una base de datos. Tambin es muy barato El sistema ISAM fue reemplazado en IBM por un mtodo llamado VSAM, Virtual Storage Access Method (Mtodo de acceso a almacenamiento virtual). Luego, IBM desarroll DB2, que, para el 2004, era el sistema de administracin de bases de datos de IBM. Area Index 100 200 300 400 500 600 Area Data 020 030 040 050 060 100 105 114 130 160 170 200 202 220 240 261 281 300 301 335 360 390 395 400 410 420 430 440 480 500 505 520 540 560 590 600

OVERFLOW 000 000 000 000 000 000 Estructura: El archivo se graba en el disco duro con formato Index, en el primer cilindro se graban las claves mas altas de cada pista. Luego tenemos un area de data donde se encuentran los datos del archivo grabado en forma secuencial en cada pista. El cilindro de overflow se utiliza para aceptar los desplazamiento de registros que vengan de otras pistas al tratar de indertar un registro y no hubiese espacio. Busqueda: Supongamos que tenemos una key=390 y queremos localizar ese registro. Paso 1: Vamos al area de ndice y comparamos la key=390 com cada key del area de ndices y notamos que 390 no es mayor que 400 pero si mayor de 300, lo que nos indica que esta key esta en la pista 4, el proceso se dirije directamente a la pista 4 y secuencialmente busca esta key=390, al encontrarla procesa el registro. Si tratamos de insertar un registro como key=205, notamos que al comparar el area de claves en el cilindro 1, notamos que el 205 es mayor que 200 pero menor que 300, entonces se iserta en la pista tres conservando la secuencia. Area Index Area Data 100 020 105 202 301 410 505 300 200 030 114 205 335 420 520 000 300 040 130 220 360 430 540 400 500 050 060 160 170 240 261 390 395 440 480 560 590 000 600 100 200 281 400 500 600 000 ( 300 desplazado overflow)

OVERFLOW

000 000

Arvhivos VSAM (Virtual Storage Access Method o VSAM). Es un sistema de archivos usado en mainframes de IBM. VSAM acelera el acceso a los datos en archivos utilizando un ndice invertido (llamado rbol B+) de todos los registros aadidos a cada archivo. Muchos sistemas de software utilizan VSAM para implementar el sistemas de base de datos. VSAM fue utilizado por primera vez en los sistemas operativos OS/VS2 y luego en la arquitectura El sistema de archivo orientado a registros VSAM comprende cuatro mtodos de accesos: Key Sequenced Data Set (KSDS). Relative Record Data Set (RRDS). Entry Sequenced Data Set (ESDS). Con respecto al VSAM, un programa de aplicacin CICS dispone de estas organizaciones: ESDS archivos secuenciados por entradas KSDS (Archivos Secuenciados por Clave) RRDS (Archivos de Registros Relativos) PLANIFICACION DE E/S Se refiere a la organizacin que realiza un sistema operativo respecto al orden en que tendrn las operaciones de I/O dentro del computador. Propsito Existen varias razones por las que puede ser deseable aplicar mtodos de planificacin de E/S: Minimizar el tiempo de bsqueda (seek time) en el disco.

Dar prioridad a las peticiones de E/S de ciertos procesos. Dar una porcin del ancho de banda de lectura del disco a cada proceso. Garantizar que ciertas peticiones se atendern antes de un tiempo determinado: la conocida como deadline (lnea de la muerte en ingls). Implementacin Los planificadores de E/S normalmente tienen que trabajar con discos que comparten la propiedad de tardar bastante tiempo en acceder a una posicin que est muy alejada de la posicin actual del cabezal (lo que se conoce como un tiempo de bsqueda o seek time elevado). Para minimizar el efecto que esto tiene sobre el rendimiento del sistema de E/S, muchos planificadores implementan variantes del algoritmo del ascensor, que lo que hace es reordenar las peticiones aleatorias siguiendo el orden en que el cabezal se ir encontrando las posiciones demandadas. Metodo para mejorar la E/S Al algoritmo del ascensor es un tcnica de optimizacin de los accesos que consiste en reducir en lo posible los movimientos de cambio de pista. Para ello la cabeza se va moviendo a lo largo de las pistas con un movimiento de vaivn, como un ascensor que va atendiendo las peticiones a medida que va pasando por los pisos con movimiento de subida y bajada. Las peticiones de los distintos programas se van atendiendo en el orden de las pistas y no en el orden en que se solicitan. Adems se entrelazarn las accesos a sectores de distintas peticiones, si es conveniente. Tras leer o grabar un sector, el controlador seleccionar como siguiente operacin elemental la que corresponda a la misma pista o a la pista ms prxima en el sentido de movimiento actual. Si no hay ninguna peticin pendiente en esas condiciones, invertir el sentido de movimiento.

Al solicitar una operacin sobre varios sectores seguidos (mdulo DISCO), el orden en el que se debern solicitar los accesos elementales vendr marcado por la situacin de la cabeza en el momento de la solicitud. Si la cabeza est en una pista igual o anterior a la del primer sector (a), los sectores se solicitarn en orden creciente. Si la cabeza est en una pista igual o posterior a la del ltimo sector (b), los sectores se solicitarn en orden inverso. Si la cabeza est en una pista intermedia (c), se solicitarn primero los que estn en el sentido del movimiento actual, en el orden correspondiente a dicho sentido, y luego el resto en el orden contrario. SPOOL "spool", es una memoria intermedia, donde se envan tareas para reducir la carga de trabajo del procesador central. Puede haber "spools" de ficheros y de impresoras. "Spool" se traduce en espaol como "cola" -cola de impresoras,etc), En el campo de la Informtica, el spooling (Simultaneous Peripheral Operations OnLine) se refiere al proceso mediante el cual la computadora introduce trabajos en un buffer (un rea especial en memoria o en un disco), de manera que un dispositivo pueda acceder a ellos cuando est listo. El spooling es til en caso de dispositivos que acceden a los datos a distintas velocidades. El buffer proporciona un lugar de espera donde los datos pueden estar

hasta que el dispositivo (generalmente ms lento) los procesa. Esto permite que la CPU pueda trabajar en otras tareas mientras que espera que el dispositivo ms lento acabe de procesar el trabajo. La aplicacin ms comn del spooling es la impresin. En este caso, los documentos son cargados en un buffer, que habitualmente es un rea en un disco, y la impresora los saca de ste a su propia velocidad. El usuario puede entonces realizar otras operaciones en el ordenador mientras la impresin tiene lugar en segundo plano. El spooling permite tambin que los usuarios coloquen varios trabajos de impresin en una cola de una vez, en lugar de esperar a que cada uno acabe para enviar el siguiente. El uso de un almacenamiento intermedio permite que varios procesos en paralelo estn generando datos para el dispositivo, sin que se mezcle el resultado, ni que tengan que esperar a que finalice la operacin con el perifrico. En consecuencia se obtiene una comunicacin indirecta entre los programas que escriben los datos y los que los leen. Se suele usar este mecanismo cuando un dispositivo escribe datos a diferente velocidad de la que la lee el dispositivo receptor, lo cual permite que un dispositivo ms lento lo procese a su ritmo. Tambin se puede referir a un dispositivo de almacenamiento que incorpora un spool fsico, como una unidad de cinta. Manejo de archivos: En el manejo de archivos debemos tener en cuenta lo que es un bloque , factor de bloqueo Generalmente trabajar bajo esta filosofa es importate para los programadores porque ella ahorra tiempo y espacio al manejar archivos. Un bloque es un espacio fsico en el que se pueden albergar o contener uno o ms registros, Si se tiene un registro que tiene 120 caracteres y este coincide con la longitud del bloque, estamos hablando de registro desbloqueado, pero cuando puedo almacenar ms de un registro por bloque hablamos de registro bloqueado en cuyo caso si existen 4 registros por bloques el factor de bloqueo es 4, y la lectura se hace en grupos de 4 bloques. Quiero decir con esto que el tamao del bloque lo determina entonces la suma de los tamaos de cada registro almacenado en el bloque. En este caso 480 caracteres por bloque. LOS DISCOS DUROS

INTRODUCCION Siempre que se enciende el computador, los discos sobre los que se almacenan los datos giran a una gran velocidad (a menos que disminuyan su potencia para ahorrar electricidad). Los discos duros de hoy, con capacidad de almacenar multigigabytes mantienen el mnimo principio de una cabeza de Lectura/Escritura suspendida sobre una superficie magntica que gira velozmente con precisin microscpica. Pero hay un aspecto de los discos duros que probablemente permanecer igual. A diferencia de otros componentes de la PC que obedecen a los comandos del software, el disco duro hace ruidos cuando emprende su trabajo. Estos ruidos son recordatorio de que es uno de los pocos componentes de una PC que tiene carcter mecnico y electrnico al mismo tiempo Los discos duros pertenecen a la llamada memoria secundaria o almacenamiento secundario. Al disco duro se le conoce con gran cantidad de denominaciones como disco duro, rgido (frente a los discos flexibles o por su fabricacin a base de una capa rgida de aluminio), fijo (por su situacin en el ordenador de manera permanente). Estas denominaciones aunque son las habituales no son exactas ya que existen discos de iguales prestaciones pero son flexibles, o bien removibles o transportables, u otras marcas diferentes fabricantes de cabezas. Las capacidades de los discos duros varan desde 10 Mb. hasta varios Gb. en minis y grandes ordenadores. Para conectar un disco duro a un ordenador es necesario disponer de una tarjeta controladora. La velocidad de acceso depende en gran parte de la tecnologa del propio disco duro y de la tarjeta controladora asociada al discos duro. Estos estn compuestos por varios platos, es decir varios discos de material magntico montados sobre un eje central sobre el que se mueven. Para leer y escribir datos en estos platos se usan las cabezas de lectura/escritura que mediante un proceso electromagntico codifican / decodifican la informacin que han de leer o escribir. La cabeza de lectura/escritura en un disco duro est muy cerca de la superficie, de forma que casi vuela sobre ella, sobre el colchn de aire formado por su

propio movimiento. Debido a esto, estn cerrados hermticamente, porque cualquier partcula de polvo puede daarlos. Unidad de disco duro: Los discos duros se presentan recubiertos de una capa magntica delgada, habitualmente de xido de hierro, y se dividen en unos crculos concntricos cilindros (coincidentes con las pistas de los disquetes), que empiezan en la parte exterior del disco (primer cilindro) y terminan en la parte interior (ltimo). Asimismo estos cilindros se dividen en sectores, cuyo nmero esta determinado por el tipo de disco y su formato, siendo todos ellos de un tamao fijo en cualquier disco. Cilindros como sectores se identifican con una serie de nmeros que se les asignan, empezando por el 1, pues el numero 0 de cada cilindro se reserva para propsitos de identificacin mas que para almacenamiento de datos. Estos, escritos/ledos en el disco, deben ajustarse al tamao fijado del almacenamiento de los sectores. Habitualmente, los sistemas de disco duro contienen ms de una unidad en su interior, por lo que el nmero de caras puede ser ms de 2. Estas se identifican con un nmero, siendo el 0 para la primera. Para escribir, la cabeza se sita sobre la celda a grabar y se hace pasar por ella un pulso de corriente, lo cual crea un campo magntico en la superficie. Dependiendo del sentido de la corriente, as ser la polaridad de la celda. para leer, se mide la corriente inducida por el campo magntico de la celda. Es decir que al pasar sobre una zona detectar un campo magntico que segn se encuentre magnetizada en un sentido u otro, indicar si en esa posicin hay almacenado un 0 o un 1. En el caso de la escritura el proceso es el inverso, la cabeza recibe una corriente que provoca un campo magntico, el cual pone la posicin sobre la que se encuentre la cabeza en 0 o en 1 dependiendo del valor del campo magntico provocado por dicha corriente.

Los componentes fsicos de una unidad de disco duro son: LOS DISCOS (Platters) Estn elaborados de compuestos de vidrio, cermica o aluminio finalmente pulidos y revestidos por ambos lados con una capa muy delgada de una aleacin metlica. Los discos estn unidos a un eje y un motor que los hace guiar a una velocidad constante entre las 3600 y 7200 RPM. Convencionalmente los discos duros estn compuestos por varios platos, es decir varios discos de material magntico montados sobre un eje central. Estos discos normalmente tienen dos caras que pueden usarse para el almacenamiento de datos, si bien suele reservarse una para almacenar informacin de control. LAS CABEZAS (Heads) Estn ensambladas en pila y son las responsables de la lectura y la escritura de los datos en los discos. La mayora de los discos duros incluyen una cabeza Lectura/Escritura a cada lado del disco, sin embargo algunos discos de alto

desempeo tienen dos o ms cabezas sobre cada superficie, de manera que cada cabeza atiende la mitad del disco reduciendo la distancia del desplazamiento radial. Las cabezas de Lectura/Escritura no tocan el disco cuando este esta girando a toda velocidad; por el contrario, flotan sobre una capa de aire extremadamente delgada(10 millonsima de pulgada). Esto reduce el desgaste en la superficie del disco durante la operacin normal, cualquier polvo o impureza en el aire puede daar suavemente las cabezas o el medio. Su funcionamiento consiste en una bobina de hilo que se acciona segn el campo magntico que detecte sobre el soporte magntico, produciendo una pequea corriente que es detectada y amplificada por la electrnica de la unidad de disco. EL EJE Es la parte del disco duro que acta como soporte, sobre el cual estn montados y giran los platos del disco. "ACTUADOR" (actuator) Es un motor que mueve la estructura que contiene las cabezas de lectura entre el centro y el borde externo de los discos. Un "actuador" usa la fuerza de un electromagneto empujado contra magnetos fijos para mover las cabezas a travs del disco. La controladora manda ms corriente a travs del electromagneto para mover las cabezas cerca del borde del disco. En caso de una perdida de poder, un resorte mueve la cabeza nuevamente hacia el centro del disco sobre una zona donde no se guardan datos. Dado que todas las cabezas estn unidas al mismo "rotor" ellas se mueven al unsono. Mientras que lgicamente la capacidad de un disco duro puede ser medida segn los siguientes parmetros:

Cilindros (cylinders) El par de pistas en lados opuestos del disco se llama cilindro. Si el HD contiene mltiples discos (sean n), un cilindro incluye todos los pares de pistas directamente uno encima de otra (2n pistas). Los HD normalmente tienen una cabeza a cada lado del disco. Dado que las cabezas de Lectura/Escritura estn alineadas unas con otras, la controladora puede escribir en todas las pistas del cilindro sin mover el rotor. Como resultado los HD de mltiples discos se desempean levemente ms rpido que los HD de un solo disco. Pistas (tracks) Un disco est dividido en delgados crculos concntricos llamados pistas. Las cabezas se mueven entre la pista ms externa pista cero a la mas interna. Es la trayectoria circular trazada a travs de la superficie circular del plato de un disco por la cabeza de lectura / escritura. Cada pista est formada por uno o ms Cluster. Sectores (sectors) Un byte es la unidad til ms pequea en trminos de memoria. Los HD almacenan los datos en pedazos gruesos llamados sectores. La mayora de los HD usan sectores de 512 bytes. La controladora del H D determina el tamao de un sector en el momento en que el disco es formateado. Algunos modelos de HD le permiten especificar el tamao de un sector. Cada pista del disco esta dividida en 1 2 sectores dado que las pistas exteriores son ms grandes que las interiores, las exteriores contienen mas sectores.

Distribucin de un disco duro

Cluster Es una agrupacin de sectores, su tamao depende de la capacidad del disco. La siguiente tabla nos muestra esta relacin. Tipo de FAT Sectores por Cluster Tamao del Cluster Tamao del Drive bits Kb MB 0 15 12 8 4 16-127 16 4 2 128-255 16 8 4 256-511 16 16 8 512-1023 16 32 16 1024-2048 16 64 32 MEDIDAS QUE DESCRIBEN EL DESEMPEO DE UN HD Los fabricantes de HD miden la velocidad en trminos de tiempo de acceso, tiempo de bsqueda, latencia y transferencia. Estas medidas tambin aparecen en las advertencias, comparaciones y en las especificaciones. Tiempo de acceso (access time) Termino frecuentemente usado en discusiones de desempeo, es el intervalo de tiempo entre el momento en que un drive recibe un requerimiento por datos, y el momento en que un drive empieza a despachar el dato. El tiempo de acceso de un HD es una combinacin de tres factores: 1- Tiempo de Bsqueda (seek time) Es el tiempo que le toma a las cabezas de Lectura/Escritura moverse desde su posicin actual hasta la pista donde esta localizada la informacin deseada. Como la pista deseada puede estar localizada en el otro lado del disco o en una pista adyacente, el tiempo de bsqueda variara en cada bsqueda. En la actualidad, el tiempo promedio de bsqueda para cualquier bsqueda arbitraria es igual al tiempo requerido para mirar a travs de la tercera parte de las pistas. Los HD de la actualidad tienen tiempos de bsqueda pista a pista tan cortos como 2 milisegundos y tiempos promedios de bsqueda menores a 10 milisegundos y tiempo mximo de bsqueda

(viaje completo entre la pista ms interna y la ms externa) cercano a 15 milisegundos .2- Latencia (latency) Cada pista en un HD contiene mltiples sectores una vez que la cabeza de Lectura/Escritura encuentra la pista correcta, las cabezas permanecen en el lugar e inactivas hasta que el sector pasa por debajo de ellas. Este tiempo de espera se llama latencia. La latencia promedio es igual al tiempo que le toma al disco hacer media revolucin y es igual en aquellos drivers que giran a la misma velocidad. Algunos de los modelos ms rpidos de la actualidad tienen discos que giran a 10000 RPM o ms reduciendo la latencia. 3- Command Overhead Tiempo que le toma a la controladora procesar un requerimiento de datos. Este incluye determinar la localizacin fsica del dato en el disco correcto, direccionar al "actuador" para mover el rotor a la pista correcta, leer el dato, redireccionarlo al computador. Transferencia Los HD tambin son evaluados por su transferencia, la cual generalmente se refiere al tiempo en la cual los datos pueden ser ledos o escritos en el drive, el cual es afectado por la velocidad de los discos, la densidad de los bits de datos y el tiempo de acceso. La mayora de los HD actuales incluyen una cantidad pequea de RAM que es usada como cache o almacenamiento temporal. Dado que los computadores y los HD se comunican por un bus de Entrada/Salida, el tiempo de transferencia actual entre ellos esta limitado por el mximo tiempo de transferencia del bus, el cual en la mayora de los casos es mucho ms lento que el tiempo de transferencia del drive. COMO FUNCIONA UN DISCO DURO. 1. Una caja metlica hermtica protege los componentes internos de las partculas de polvo; que podran obstruir la estrecha separacin entre las cabezas de lectura/escritura y los discos, adems de provocar el fallo de la unidad a causa de la apertura de un surco en el revestimiento magntico de un disco. 2. En la parte inferior de la unidad, una placa de circuito impreso, conocida tambin como placa lgica, recibe comandos del controlador de la unidad, que a su vez es controlado por el sistema operativo. La placa lgica convierte estos comandos en fluctuaciones de tensin que obligan al actuador de las cabezas a mover estas a lo largo de las superficies de los discos. La placa tambin se asegura de que el eje giratorio que mueve los discos de vueltas a una velocidad constante y de que la placa le indique a las cabezas de la unidad en que momento deben leer y escribir en el disco. En un disco IDE (Electrnica de Unidades Integradas), el controlador de disco forma parte de la placa lgica. 3. Un eje giratorio o rotor conectado a un motor elctrico hacen que los discos revestidos magnticamente giren a varios miles de vueltas por minuto. El nmero de discos y la composicin del material magntico que lo s recubre determinan la capacidad de la unidad. Generalmente los discos actuales estn recubiertos de una aleacin de aproximadamente la trimillonsima parte del grosor de una pulgada. 4. Un actuador de las cabezas empuja y tira del grupo de brazos de las cabezas de lectura/escritura a lo largo de las superficies de los platos con suma precisin. Alinea las cabezas con las pistas que forman crculos concntricos sobre la superficie de los discos. 4. Las cabezas de lectura/escritura unidas a los extremos de los brazos mviles se deslizan a la vez a lo largo de las superficies de los discos giratorios del HD. Las cabezas escriben en los discos los datos procedentes del controlador de disco alineando las partculas magnticas sobre las superficies de los discos; las cabezas leen los datos mediante la deteccin de las polaridades de las partculas ya alineadas. 5. Cuando el usuario o su software le indican al sistema operativo que lea o escriba un archivo, el sistema operativo ordena al controlador del HD que mueva las cabezas de lectura y escritura a la tabla de asignacin de archivos de la unidad, o FAT en DOS (VFAT en Windows). El sistema operativo lee la FAT para determinar en que Cluster

del disco comienza un archivo preexistente, o que zonas del disco estn disponibles para albergar un nuevo archivo. 6. Un nico archivo puede diseminarse entre cientos de Cluster independientes dispersos a lo largo de varios discos. El sistema operativo almacena el comienzo de un archivo en los primeros Cluster que encuentra enumerados como libres en la FAT. Esta mantiene un registro encadenado de los Cluster utilizados por un archivo y cada enlace de la cadena conduce al siguiente Cluster que contiene otra parte mas del archivo. Una vez que los datos de la FAT han pasado de nuevo al sistema operativo a travs del sistema electrnico de la unidad y del controlador del HD, el sistema operativo da instrucciones a la unidad para que omita la operacin de las cabezas de lectura/escritura a lo largo de la superficie de los discos, leyendo o escribiendo los Cluster sobre los discos que giran despus de las cabezas. Despus de escribir un nuevo archivo en el disco, el sistema operativo vuelve a enviar las cabezas de lectura/escritura a la FAT, donde elabora una lista de todos los Cluster del archivo. Controladoras La interface es la conexin entre el mecanismo de la unidad de disco y el bus del sistema. Define la forma en que las seales pasan entre el bus del sistema y el disco duro. En el caso del disco, se denomina controladora o tarjeta controladora, y se encarga no slo de transmitir y transformar la informacin que parte de y llega al disco, sino tambin de seleccionar la unidad a la que se quiere acceder, del formato, y de todas las rdenes de bajo nivel en general. La controladora a veces se encuentra dentro de la placa madre. Se encuentran gobernados por una controladora y un determinado interface que puede ser: ST506: Es un interface a nivel de dispositivo; el primer interface utilizado en los PCs. Proporciona un valor mximo de transferencia de datos de menos de 1 Mbyte por segundo. Actualmente esta desfasado y ya no hay modelos de disco duro con este tipo de interface. ESDI: Es un interface a nivel de dispositivo diseado como un sucesor del ST506 pero con un valor ms alto de transferencia de datos (entre 1,25 y 2.5 Mbytes por segundo).Ya ha dejado de utilizarse este interface y es difcil de encontrar. IDE: Es un interface a nivel de sistema que cumple la norma ANSI de acoplamiento a los AT y que usa una variacin sobre el bus de expansin del AT (por eso tambin llamados discos tipo AT) para conectar una unidad de disco a la CPU, con un valor mximo de transferencia de 4 Mbytes por segundo. En principio, IDE era un trmino genrico para cualquier interface a nivel de sistema. La especificacin inicial de este interface est mal definida. Es ms rpida que los antiguos interfaces ST506 y ESDI pero con la desaparicin de los ATs este interface desaparecer para dejar paso al SCSI y el SCSI-2. ntimamente relacionado con el IDE, tenemos lo que se conoce como ATA, concepto que define un conjunto de normas que deben cumplir los dispositivos. Aos atrs la compaa Western Digital introdujo el standard E-IDE (Enhanced IDE), que mejoraba la tecnologa superando el lmite de acceso a particiones mayores de 528 Mb. y se defini ATAPI, normas para la implementacin de lectores de CD-ROM y unidades de cinta con interfaz IDE. E-IDE se basa en el conjunto de especificaciones ATA-2. Como contrapartida comercial a E-IDE, la empresa Seagate presento el sistema FAST-ATA2, basado principalmente en las normas ATA-2. En cualquier caso a los discos que sean o bien E-IDE o FAST-ATA, se les sigue aplicando la denominacin IDE como referencia. Para romper la barrera de los 528 Mb. las nuevas unidades IDE proponen varias soluciones: * El CHS es una traduccin entre los parmetros que la BIOS contiene de cilindros, cabezas y sectores (ligeramente incongruentes) y los incluidos en el software de slo lectura (Firmware) que incorpora la unidad de disco.

* El LBA (direccin lgica de bloque), estriba en traducir la informacin CHS en una direccin de 28 bits manejables por el sistema operativo, para el controlador de dispositivo y para la interfaz de la unidad. Debido a la dificultad que entraa la implemetacin de la compatibilidad LBA en BIOS, muchos de los ordenadores personales de fabricacin ms reciente continan ofreciendo nicamente compatibilidad con CHS. El techo de la capacidad que permite las solucin CHS se sita en los 8,4 Gb, que por el momento parecen suficientes. SCSI: Es un interface a nivel de sistema, diseado para aplicaciones de propsito general, que permite que se conecten hasta siete dispositivos a un nico controlador. Usa una conexin paralela de 8 bits que consigue un valor mximo de transferencia de 5 Mbytes por segundo. Actualmente se puede or hablar tambin de SCSI-2 que no es ms que una versin actualizada y mejorada de este interface. Es el interface con ms futuro, si bien tiene problemas de compatibilidad entre las diferentes opciones de controladoras, discos duros, impresoras, unidades de CD-ROM y dems dispositivos que usan este interface debido a la falta de un estndar verdaderamente slido. Las mejoras del SCSI-2 sobre el SCSI tradicional son el aumento de la velocidad a travs del bus, desde 5 Mhz a 10 Mhz, duplicando de esta forma el caudal de datos. Adems se aumenta el ancho del bus de 8 a 16 bits, doblando tambin el flujo de datos. Actualmente se ha logrado el ancho de 32 bits, consiguiendo velocidades tericas de hasta 40 Mbytes / seg. Los interfaces IDE y SCSI llevan la electrnica del controlador en el disco, por lo que el controlador realmente no suele ser mas que un adaptador principal para conectar el disco al PC. Como se puede ver unos son interfaces a nivel de dispositivo y otros a nivel de sistema, la diferencia entre ambos es: INTERFACE A NIVEL DE DISPOSITIVO : Es un interface que usa un controlador externo para conectar discos al PC. Entre otras funciones, el controlador convierte la ristra de datos del disco en datos paralelos para el bus del microprocesador principal del sistema. ST506 y ESDI son interfaces a nivel de dispositivo. INTERFACE A NIVEL DE SISTEMA: Es una conexin entre el disco duro y su sistema principal que pone funciones de control y separacin de datos sobre el propio disco (y no en el controlador externo), SCSI e IDE son interfaces a nivel de sistema. Distribucin de la Informacin : Grabacin y Acceso. Para grabar informacin en la superficie, se siguen una serie de cdigos, que transforman un patrn de bits en una secuencia de celdas con diferentes estados de magnetizacin. Procesos de grabacin GCR (Group Coding Recording - Codificacin de grupo de grabacin) Es un proceso de almacenamiento en el que los bits se empaquetan como grupos y son almacenados bajo un determinado cdigo. ZBR (Zone Bit Recording) Es un proceso de almacenamiento que coloca ms sectores sobre las pistas exteriores del disco que son ms largas, pero mantienen un valor constante de rotacin. Esta diseado para colocar ms datos sobre el disco, slo puede usarse con interfaces inteligentes. Proceso de Codificacin FM: Es la codificacin ms sencilla, consiste en la grabacin de un cambio de flujo para cada uno, y el omitir el cambio de flujo para cada cero. Este procedimiento se puede realizar con una electrnica de control relativamente simple, pero tiene el inconveniente de que cada bit de datos consume dos cambios de flujo, limitando mucho la capacidad del disco. MFM (Modified Frequency Modulation - Modulacin de frecuencia modificada) Mtodo de codificacin magntica de la informacin que crea una correspondencia 1 a 1 entre los bits de datos y transiciones de flujo (cambios magnticos) sobre un disco. Emplea una menor densidad de almacenamiento y presenta una velocidad ms baja de transferencia que el RLL.

Esta tecnologa es usada en los discos flexibles y en los primeros discos duros. Cada bit de datos es almacenado sobre una regin fsica lo suficientemente grande para contener 2 posibles posiciones 00, 01 10. Entre cada 2 bits de datos hay un bit que se llama de "reloj" y que se usa para validar las lecturas, as como para sincronizarlas. Este bit hace que sea uno cuando est situado entre 2 bits de datos a cero y se hace cero cuando est situado entre cualquier otra combinacin de bits de datos. As se hace imposible que se puedan leer ms de 3 bits consecutivos con un valor de cero, o mas de un bit seguido a uno. Esto es cierto para todas las informaciones almacenadas en el disco excepto para las reas de control del mismo cuyas marcas de comienzo de pista, sector y datos tienen 4 bits consecutivos a cero en su "adress mark". Evidentemente, estos sistemas, aunque fiables, son unos grandes consumidores de espacio ya que emplean prcticamente la mitad del espacio en bits de reloj. RLL: (Run Length Limited - Longitud recorrido limitado) Mtodo de codificar la informacin magnticamente que usa GCR para almacenar bloques en vez de bits individuales de datos. Permite densidades mayores de almacenamiento y velocidades mas altas de transferencia que MFM. En la prctica, permite incrementar en un 50% la capacidad de un disco respecto al sistema de grabacin MFM. Los mtodos de grabacin RLL utilizan un conjunto complejo de reglas para determinar el patrn de pulsos para cada bit basado en los valores de los bits precedentes. Este sistema se puede clasificar dependiendo de la distancia mxima y mnima de silencios entre dos pulsos, por ejemplo; el RLL 2,7 tiene una distancia mnima entre pulsos de 2 silencios y una mxima de 7. Datos de control del disco Es casi imposible evitar impurezas en la superficie magntica del disco, esto provoca que existan determinados sectores que son defectuosos. En los antiguos discos estos sectores venan apuntados por el control de calidad del fabricante del disco. En el formateo de bajo nivel, el usuario debera indicrselos al programa formateador. En los modernos, las direcciones de estos sectores se graban en pistas especiales o se reconocen durante el formateo a bajo nivel del disco, estos sectores se saltan o bien son sustituidos por otros que estn en zonas protegidas. Es all donde se guardan las tablas que marcan los sectores defectuosos y sus sustituciones. Esto disminuye el acceso al disco duro, pero teniendo en cuenta que el porcentaje de sectores defectuosos es mnimo, prcticamente no tiene importancia. Hay que tener en cuenta que no toda la informacin que se encuentra en la superficie de los discos son datos, existen zonas donde se almacena informacin de control. Entre la informacin que se encuentran dentro de un sector: Numero de sector y cilindro El ECC (Error Correction Code) DATA. La zona de datos Zonas de separacin entre zonas o entre pistas Tambin existen pistas extra donde se recogen otras informaciones como: Pistas "servo" donde se guardan cambios de flujo segn un esquema determinado, para la sincronizacin al pulso de datos, necesario para la correcta compresin de las informaciones en RLL. Pistas de reserva, normalmente usadas como reserva de sectores defectuosos. Pistas de aparcamiento, usadas para retirar los cabezales evitando as choques del cabezal con la superficie con datos ante vibraciones o golpes de la unidad. Tiempos de acceso, Velocidades y su medicin Existen una serie de Factores de Velocidad relacionados con los discos duros que son necesarios conocer para comprender su funcionamiento y sus diferencias. Tiempo de bsqueda de pista a pista : intervalo de tiempo necesario para desplazar la cabeza de lectura y escritura desde una pista a otra adyacente.

Tiempo medio de acceso : tiempo que tarda, como media, para desplazarse la cabeza a la posicin actual. Este tiempo promedio para acceder a una pista arbitraria es equivalente al tiempo necesario para desplazarse sobre 1/3 de las pistas del disco duro. El antiguo IBM PC/XT utilizaba discos de 80 a 110 milisegundos, mientras que los AT usaban discos de 28 a 40 milisegundos, y los actuales sistemas 386, 486 y PENTIUM usan discos de menos de 20 milisegundos. Velocidad de Rotacin: Nmero de vueltas por minuto (RPM) que da el disco. Latencia Promedio : Es el promedio de tiempo para que el disco una vez en la pista correcta encuentre el sector deseado, es decir el tiempo que tarda el disco en dar media vuelta. Velocidad de transferencia : velocidad a la que los datos (bits) pueden transferirse desde el disco a la unidad central. Depende esencialmente de dos factores : la velocidad de rotacin y la densidad de almacenamiento de los datos en una pista 3600 rpm = 1 revolucin cada 60/3600 segundos (16,66 milisegundos) Si calculamos el tiempo de vuelta --> Latencia Promedio 8,33 milisegundos Una comparativa entre un disquete y un disco duro de todos estos Factores mencionados anteriormente sera: T.Pista T.MAcceso Rotacin Latencia V.Transfrencia FD 360k 6-12 mls 93 mls 300 rpm 100 mls 125-250 Kb / seg HD AT 30 8-10 mls 40-28 mls 3600 rpm 8,3 mls 1-5 Mb / seg El tiempo de bsqueda depende del tamao de la unidad (2", 3", 5"), del nmero de pistas por pulgada (que a su vez depende de factores como el tamao de los dominios magnticos) y de la velocidad y la precisin de los engranajes del cabezal. La latencia depende de la velocidad de rotacin y equivale a la mitad del tiempo que tarda el disco en describir un giro completo. El rendimiento total tambin depende de la disposicin de los dominios magnticos, uso de ZBR. Para mejorar el tiempo de acceso se reduce esa latencia acelerando la rotacin del disco o velocidad de eje. Hace unos aos todos los discos duros giraban a la misma velocidad unos 3600 rpm, la latencia resultante era de 8,3 milisegundos. Hoy las unidades de disco ms rpidas para PC giran a 5400 y 7200 rpm (un 50% ms rpidas) y por tanto su latencia es de 5,6 milisegundos. Algunos discos siguen usando los 3600 rpm para consumir menos energa. RPM 1 Vuelta cada Latencia 3600 16,66 mseg. 8,33 mseg. 4500 13,33 mseg. 6,66 mseg. 5400 11,11 mseg. 5,55 mseg. 7200 8,33 mseg. 4,16 mseg. 10000 6,00 mseg. 3,00 mseg. El trabajar a velocidades elevadas plantea varios problemas: El primer problema es que a esta velocidad la disipacin del calor se concierte en un problema. El segundo es que exige a usar nuevos motores articulados pro fluidos para los engranajes, los actuales motores de cojinetes no pueden alcanzar estas velocidades sin una reduccin drstica de fiabilidad, se quemaran demasiado rpido. Adems de todas estas caractersticas de velocidades y tiempos de acceso de los discos duros existen una serie de tcnicas que nos permiten aminorar los accesos a disco as como acelerar las transferencias de datos entre el sistema y el dispositivo en cuestin. Una de las tcnicas ms conocidas en la informtica para hacer esto es la del uso de memorias intermedias, buffers o cachs. Buffer De Pista: Es una memoria incluida en la electrnica de las unidades de disco, que almacena el contenido de una pista completa. As cuando se hace una peticin de lectura de una pista, esta se puede leer de una sola vez, enviando la informacin a la CPU, sin necesidad de interleaving.

Cachs De Disco: Pueden estar dentro del propio disco duro, en tarjetas especiales o bien a travs de programas usar la memoria central. La gestin de esta memoria es completamente invisible y consiste en almacenar en ella los datos ms pedidos por la CPU y retirar de ella aquellos no solicitados en un determinado tiempo. Se usan para descargar al sistema de las lentas tareas de escritura en disco y aumentar la velocidad. Aparte de la velocidad del disco duro y de la controladora la forma en que se transfieren los datos de sta a la memoria deciden tambin la velocidad del sistema. Se pueden emplear 4 mtodos: Programed I/O (Pio Mode ): La transferencia de datos se desarrolla a travs de los diferentes puerto I/O de la controladora que tambin sirven para la transmisin de comandos (IN / OUT). La tasa de transferencia est limitada por los valores del bus PC, y por el rendimiento de la CPU. Se pueden lograr transferencias de 3 a 4 Mbytes. Con el modo de transferencia PIO 4, que es el mtodo de acceso que actualmente utilizan los discos ms modernos, es posible llegar a tasas de transferencia de 16,6 Mbytes / seg. Memory mapped I/O: La CPU puede recoger los datos de la controladora de forma ms rpida, si los deja en una zona de memoria fija, ya que entonces se puede realizar la transferencia de los datos a una zona de memoria del programa correspondiente con la introduccin MOV, ms rpida que los accesos con IN y OUT. El valor terico mximo es de 8 Mbytes / seg. DMA: Es la transferencia de datos desde el disco a la memoria evitando pasar por la CPU. La ventaja de usar el DMA es que se libera al procesador para trabajar en otras tareas mientras las transferencias de datos se realizan por otro lado. El DMA adems de ser inflexible es lento, no se puede pasar de ms de 2 Mb. por segundo. Bus Master DMA: En esta tcnica la controladora del disco duro desconecta la controladora del bus y transfiere los datos con la ayuda de un cotrolador Bus Master DMA con control propio. As se pueden alcanzar velocidades de 8 a 16 Mb. por segundo. ltimas Tecnologas y Tendencias La aceleracin del los nuevos disco IDE se basan en dos mtodos: Con el control de flujo a travs de IORDY (en referencia a la lnea de bus ATA " Canal de e/s preparado" se acelera el control PIO. Gracias al control de flujo, la parte electrnica de la unidad de disco puede regular las funciones de transferencia de datos del microprocesador, y el disco duro puede comunicarse con el bus a mayor velocidad de manera fiable. El standard PIO modo 3 tiene una transferencia terica mxima de 11,1 Mbytes / seg., el nuevo PIO modo 4 de 16,6 Mbytes, y el futuro PIO modo 5 promete hasta 33 Mbytes / seg. El otro mtodo alternativo denominado FAST Multiword DMA con el controlador DMA (acceso directo a memoria) sustituye al procesador en el gobierno de las transferencias de datos entre el disco duro y la memoria del sistema. SSF define que el Modo 1 de transferencias DMA soporte velocidades internas de hasta 13,3 Mbps, lo que es equiparable a los resultados del control PIO en modo 3. A travs de la tcnica de carga dinmica del cabezal se garantiza la distancia de vuelo del cabezal respecto a la superficie, usando zonas de seguridad y cierres inerciales en las cabezas. As no se necesita una preparacin especial de la superficie del plato. Estructura Lgica De Los Discos Duros Lo que interrelaciona los discos duros con los disquetes, es su estructura, que se resumen en diferentes funciones del BIOS, que sirven entre otras cosas para el acceso a los mismos. En primer lugar, internamente los discos duros se pueden dividir en varios volmenes homogneos. Dentro de cada volumen se encuentran una estructura que bajo el sistema operativo del Ms-Dos, sera la siguiente:

Sector de Arranque. Primera tabla de localizacin de archivos (FAT). Una o ms copias de la FAT. Directorio Raz (eventualmente con etiqueta de volumen). Zona de datos para archivos y subdirectorios. Como se muestra en el cuadro anterior, cada volumen se divide en diferentes zonas que por una parte acogen las diferentes estructuras de datos del sistema de archivos, y por otra los diferentes archivos y subdirectorios. En dicho cuadro no se han hecho referencia al tamao de las diferentes estructuras de datos y zonas. Pero no es posible describirlas, ya que se adaptan individualmente al tamao del volumen correspondiente El Sector de Arranque : Al formatear un volumen, el sector de arranque se crea siempre como primer sector del volumen, para que sea fcil de localizar por el DOS. En l se encuentra informacin acerca del tamao, de la estructura del volumen y sobre todo del BOOTSTRAP-LOADER, mediante el cual se puede arrancar el PC desde el DOS. A sta parte se le llama sector de arranque (BOOT). La Tabla de Asignacin de Ficheros (File Allocation Table) (FAT) : Si el DOS quiere crear nuevos archivos, o ampliar archivos existentes, ha de saber qu sectores del volumen correspondiente quedan libres, Estas informaciones las toma la llamada FAT. Cada entrada a esta tabla se corresponde con un nmero determinado de sectores, que son adyacentes lgicamente en el volumen. Cada uno de estos grupos de sectores se llama Cluster. El tamao de las diferentes entradas de esta tabla en las primeras versiones del DOS era de 12 bits. con lo que se podan gestionar hasta 4.096 Clusters, correspondiente a una capacidad aproximada de 8 Mbytes. En vista del problema que surgi al aparecer discos duros de capacidades ms elevadas, se ampli el tamao a 16 bits., permitiendo el direccionamiento de un mximo de 65.535 Clusters. Actualmente se est creando FATs de hasta 32 bits, para discos duros capaces de almacenar Gigas de informacin. Una o ms copias de la FAT : El DOS permite a un programa de formateo crear no slo una, sino varias copias idnticas de la FAT. Si el DOS encuentra uno de estos medios, cuida todas las copias de la FAT simultneamente, as que guarda all los nuevos clusters ocupados o liberados al crear o borrar archivos. Esto ofrece la ventaja de que se puede sustituir la FAT primaria en caso de defecto por una de sus copias, para evitar la prdida de datos. El directorio Raz : La cantidad mxima de entradas en el directorio raz se limita por su tamao, que se fija en el sector de arranque. Ya que el directorio raz representa una estructura de datos esttica, que no crece si se guardan ms y ms archivos o subdirectorios. De ah que, dependiendo del tamao, bien un disco duro o bien de volumen, se selecciona el tamao del directorio raz en relacin al volumen. La Zona de Datos : Es la parte del disco duro en la que se almacena los datos de un archivo. Esta zona depende en casi su totalidad de las interrelaciones entre las estructuras de datos que forman el sistema de archivos del DOS, y del camino que se lleva desde la FAT hacia los diferentes sectores de un archivo. Ventajas e Inconvenientes frente a otros sistemas de almacenamiento. Floppys (Disquetes): Ventajas: - Bajo coste de fabricacin. - Standarizacin de los formatos; nmero de cabezas, sectores, cilindros. - Es extraible y compatibilidad. Inconvenientes: Poca fiabilidad de los datos almacenadas. Una escasa capacidad de almacenamiento. Unidades de CD-ROM:

Ventajas: - Velocidad de lectura similar a los Discos Duros. - Gran capacidad a muy bajo coste. - La cabeza lectora no va incorporada en el disco. Inconvenientes: - Es de slo lectura. - El disco nicamente reescribible una sola vez. - El disco de CD-ROM no lleva los cabezales de lectura / escritura incorporados. Streamers (Unidades de Cinta): Ventajas: - Seguridad en la grabacin de los datos. - Gran capacidad a bajo coste. Inconvenientes: - Los Discos duros son mucho ms rpidos en lectura / escritura, ya que la cinta realiza una lectura secuencia, mientras que la cabeza lectura de los discos duros se posiciona en cualquier parte la superficie en tiempos casi despreciable MEMORIA RAM Ventajas: - Mayor rapidez que los discos duros. Inconvenientes: - Elevado coste en relacin a su capacidad. - La informacin contenida en la memoria es voltil, mientras que el almacenamiento en discos duros es esttica. - La memoria de un ordenador es 100 veces menor que la capacidad de los discos duros. ARREGLO REDUNDANTE DE DISCOS INDEPENDIENTES Que es tecnologa RAID? El concepto de RAID fue desarrollado por un grupo de cientficos en la Universidad de California en Berkley en 1987. Los cientficos investigaban usando pequeos HD unidos en un arreglo (definido como dos o mas HD agrupados para aparecer como un dispositivo nico para el servidor) y compararon el desempeo y los costos de este tipo de configuracin de almacenamiento con el uso de un SLED (Single Large Expensive Disk), comn en aplicac iones de MainFrames. Su conclusin fue que los arreglos de Hd pequeos y poco costosos ofrecan el mismo o un mejor desempeo que los SLED. Sin embargo, dado que haba mas discos usados en un arreglo el MTBDL (Mean Time Be fore Data Loss) -calculado dividiendo el MTBF (Mean Time Between Failures) por el nmero de discos en el arreglo- sera inaceptablemente bajo. Los problemas entonces fueron como manejar el MTBF y prevenir que la falla de un solo HD causara prdida de datos en el arreglo. Para mejorar esto, propusieron 5 tipos de arreglos redundantes, Definindolas como RAID Nivel 1 hasta 5. El nivel del RAID es Simplemente la arquitectura que determina como se logra la redundancia y como los datos estn distribuidos a travs de los HD del arreglo. Adicional al RAID 1 hasta 5, una configuracin de arreglo no redundante que emplea particin de datos (esto es partir los archivos en bloques pequeos y distribuir estos bloques a travs de los HD del arreglo ), esto es conocido como RAID 0. DEFINICIONES: RAID 0 Tambin llamado particin de los discos, los datos son distribuidos a travs de discos paralelos. RAID 0 distribuye los datos rpidamente a los usuarios, pero no ofrece mas proteccin a fallas de h ardware que un simple disco. RAID 1 Tambin llamado Disk mirroring provee la mas alta medida de proteccin de datos a travs de una completa redundancia. Los datos son copiados a dos discos

simultneamente. La disponibilidad es alta pero el costo tambin dado que los usuarios deben comprar dos veces la capacidad de almacenamiento que requieren. RAID 0/1 Combina Disk mirroring y particin de datos. El resultado es gran disponibilidad al mas alto desempeo de entrada y de salida para las aplicaciones de negocios mas criticas. A este nivel como en el RAID 1 los discos son duplicados. Dado que son relativamente no costosos, RAID 0/1 es una alternativa para los negocios que necesitan solamente uno o dos discos para sus datos, sin embargo, el costo puede convertirse en un problema cuando se requieren mas de dos discos. RAID 5

Sistemas lgicos: Es aquel que hace que funcione todo un proceso, por lo general lo sistemas logicos estan conectados a una computadora que es la que se encarga de q el sistema funcione, por ejemplo el empaquetamiento de la leche, desde su llenado, etiquetado, sellado control de accesos y otros. Un sistema fsico es un agregado de objetos o entidades materiales entre cuyas partes existe una vinculacin o interaccin de tipo causal (aunque no necesariamente determinista o causal en el sentido de la Teora de la relatividad). Todos los sistemas fsicos se caracterizan por: Tener una ubicacin en el espacio-tiempo. Tener un estado fsico definido sujeto a evolucin temporal. Poderle asociar una magnitud fsica llamada energa. 1 - El sistema Tierra - Luna 2 - el atomo 3 - el nucleo atmico 4 - el plano inclinado Controles de acceso:

Limitacin del acceso a los recursos exclusivamente a personas, entidades o procesos con la debida autorizacin Estudio de las aplicaciones para monitores residentes de un sistema operativo: Problemas de explotacin y soluciones iniciales El problema principal de los primeros sistemas era la baja utilizacin de los mismos, la primera solucin fue poner un operador profesional que lo manejase, con lo que se eliminaron las hojas de reserva, se ahorr tiempo y se aument la velocidad. Para ello, los trabajos se agrupaban de forma manual en lotes mediante lo que se conoce como procesamiento por lotes (batch) sin automatizar. Segn fue avanzando la complejidad de los programas, fue necesario implementar soluciones que automatizaran la organizacin de tareas sin necesidad de un operador. Debido a ello se crearon los monitores residentes: programas que residan en memoria y que gestionaban la ejecucin de una cola de trabajos. Un monitor residente estaba compuesto por un cargador, un Intrprete de comandos y un Controlador (drivers) para el manejo de entrada/salida. Trajeta hollerith usada en el procesamiento en lote tipo batch

ADMINISTRACION DE INFORMACION Un sistema de archivos determina la estructura, nombre, forma de acceso, uso y proteccin de los archivos que se guardarn en el disco. Cada sistema operativo utiliza un sistema de archivos que permite que el usuario no tenga que preocuparse de las particularidades de los dispositivos fsicos empleados. Dos son los tipos de objetos fundamentales que existen en un sistema de archivos: los directorios y los archivos.Los archivos contienen datos y los directorios permiten una mayor organizacin de los archivos dentro del disco. Para ello, los directorios contienen informacin necesaria acerca de los archivos o subdirectorios que estn dentro de ellos (una posicin del sector del disco en el que comienzan, generalmente). Por lo tanto, un directorio contiene ni archivos ni subdirectorios (aunque nos lo imaginemos as), sino que contiene la posicin en la que estos comienzan. Ser el sistema operativo el encargado de recuperar el contenido que hay en ella. En un S.O es importante una buena organizacin en el manejo de archivos en ocasiones es imperceptible para el usuario pero esto no significa que no exista. Para lograr esta organizacin las computadoras utiliza el sistema de archivos el cual se encarga de asignar el espacio adecuado donde se posicionara un archivo en un dispositivo de almacenamiento

secundario, en ocasiones las computadoras de basan en estos sistemas para presentar de forma visual esta organizacin de archivos con esto se provee al usuario de una manera fcil de acceder a los archivos que se encuentran en la computadora. Sistemas de archivos de disco Un sistema de archivo de disco est diseado para el almacenamiento de archivos en una unidad de disco, que puede estar conectada directa o indirectamente a la computadora. Sistemas de archivos de red Un sistema de archivos de red es el que accede a sus archivos a travs de una red. Dentro de esta clasificacin encontramos dos tipos de sistemas de archivos: los sistemas de archivos distribuidos (no proporcionan E/S en paralelo) y los sistemas de archivos paralelos (proporcionan una E/S de datos en paralelo). Sistemas de archivos de propsito especial (Special purpose file system). Aquellos tipos de sistemas de archivos que no son ni sistemas de archivos de disco, ni sistemas de archivos de red.

Rutas y nombres de archivos

Normalmente los archivos y carpetas se organizan jerrquicamente. La estructura de directorios suele ser jerrquica, ramificada o "en rbol", aunque en algn caso podra ser plana. En algunos sistemas de archivos los nombres de archivos son estructurados, con sintaxis especiales para extensiones de archivos y nmeros de versin. En otros, los nombres de archivos son simplemente cadenas de texto y los metadatos de cada archivo son alojados separadamente. En los sistemas de archivos jerrquicos, usualmente, se declara la ubicacin precisa de un archivo con una cadena de texto llamada " ruta" o path en ingls. La nomenclatura para rutas vara ligeramente de sistema en sistema, pero mantienen por lo general una misma estructura. Una ruta viene dada por una sucesin de nombres de directorios y subdirectorios, ordenados jerrquicamente de izquierda a derecha y separados por algn carcter especial que suele ser una diagonal ('/') o diagonal invertida ('\') y puede terminar en el nombre de un archivo presente en la ltima rama de directorios especificada. Resumen de las caractersticas de los archivos: Seguridad o permisos

La mayora de los sistemas modernos permiten asignar permisos (o derechos de acceso) a los archivos para determinados usuarios y grupos de usuarios. De esta manera, se puede restringir o permitir el acceso de un determinado usuario a un archivo para su visualizacin de contenidos, modificacin y/o ejecucin (en caso de un archivo ejecutable). listas de control de acceso (ACLs) UGO (Usuario, Grupo, Otros, o por sus siglas en ingls, User, Group, Others) Capacidades granuladas Atributos extendidos (ej.: slo aadir al archivo pero no modificar, no modificar nunca, etc.)

Mecanismo para evitar la fragmentacin Capacidad de enlaces simblicos o duros Integridad del sistema de archivos (Journaling) Soporte para archivos dispersos Soporte para cuotas de discos Soporte de crecimiento del sistema de archivos nativo

Una lista de control de acceso o ACL (del ingls, access control list) es un concepto de seguridad informtica usado para fomentar la separacin de privilegios. Es una forma de determinar los permisos de acceso apropiados a un determinado objeto, dependiendo de ciertos aspectos del proceso que hace el pedido. Las ACL permiten controlar el flujo del trfico en equipos de redes, tales como enrutadores y conmutadores. Su principal objetivo es filtrar trfico, permitiendo o denegando el trfico de red de acuerdo a alguna condicin. Sin embargo, tambin tienen usos adicionales, como por ejemplo, distinguir "trfico interesante" (trfico suficientemente importante como para activar o mantener una conexin) enRDSI. En redes informticas, ACL se refiere a una lista de reglas que detallan puertos de servicio o nombres de dominios (de redes) que estn disponibles en un terminal u otro dispositivo de capa de red, cada uno de ellos con una lista de terminales y/o redes que tienen permiso para usar el servicio.Tanto servidores individuales como enrutadores pueden tener ACL de redes. Las listas de control de acceso pueden configurarse generalmente para controlar trfico entrante y saliente y en este contexto son similares a un cortafuegos. Existen dos tipos de listas de control de acceso: Listas estndar, donde solo tenemos que especificar una direccin de origen; Listas extendidas, en cuya sntaxis aparece el protocolo y una direccin de origen y de destino. Edificios: Un Sistema de Control de Accesos, administra el ingreso a reas restringidas, y evita as que personas no autorizadas o indeseables tengan la libertad de acceder a la empresa. As mismo con un Sistema de Control de Accesos se puede tener conocimiento de la asistencia del personal, horarios de ingreso y egreso, y tambin poder tener un control histrico de entradas de personas a todas las reas (para poder tener en cuenta quienes podran ser los posibles responsables de algn siniestro). La manera ms eficiente de controlar los movimientos dentro de la empresa es sectorizar la misma en zonas, que pueden ser departamentos, puertas independientes, distintos pisos, etc. Lo ms prctico es que cada empleado de la empresa tenga

determinadas las zonas a las cules tiene acceso. Los sistemas trabajan en red para que todas las filiales de una empresa estn conectadas a un sistema central, y se maneja el acceso a nivel centralizado. La desfragmentacin es el proceso mediante el cual se acomodan los archivos de un disco de tal manera que cada uno quede en un rea contigua y sin espacios sin usar entre ellos. Al irse escribiendo y borrando archivos continuamente en el disco duro, Estos tienden a no quedar en reas contiguas, as, un archivo puede quedar "partido" en muchos pedazos a lo largo del disco, se dice entonces que el archivo est "fragmentado". Al tener los archivos esparcidos por el disco, se vuelve ineficiente el acceso a ellos. El problema de almacenamiento no contiguo de archivos se denomina fragmentacin, se produce debido al almacenamiento de archivos en dispositivos como disco duro y memoria RAM por el uso del computador. La fragmentacin es un problema que surge debido al ordenamiento interno de los datos en algunos sistema de archivos. Se da muy comnmente en el sistema operativo Windows aunque tambin afecta a otras plataformas pero en una escala mucho menor. Tambin se produce fragmentacin dentro de la memoria del computador (memoria RAM) cuando se asignan los procesos a los diferentes bloques de memoria. Existen dos tipos de fragmentacin: doble y triple. Desfragmentar no hace que el ordenador trabaje ms rpido, sino que agiliza el proceso de la navegacin por los archivos. Motivacin La lectura y escritura secuenciales de sistemas de archivos fuertemente fragmentados se ralentiza, debido a que aumenta el tiempo necesario para que los cabezales del disco se muevan entre los fragmentos y esperen a que el disco gire hasta la posicin de lectura (vase en la pgina web theslap.com y tiempo de bsqueda y retardo rotacional). Para muchas operaciones comunes, el cuello de botella en la operacin de todo el computador es el disco duro; de ah que el deseo de procesar ms eficientemente anime a la desfragmentacin. Los vendedores de sistemas operativos a menudo recomiendan la desfragmentacin peridica para evitar que la velocidad de acceso al disco se degrade con el tiempo. Los datos fragmentados tambin se extienden por el disco ms de lo necesario. Por lo tanto, uno puede desfragmentar para agrupar los datos en una zona, antes de dividir una particin en dos o ms (por ejemplo, con GNU Parted o PartitionMagic). La desfragmentacin puede aumentar la propia vida del disco duro, al minimizar el movimiento de los cabezales y simplificar las operaciones de acceso a los datos. Causas La fragmentacin ocurre cuando el sistema operativo no asigna suficiente espacio contiguo para almacenar un archivo completo como una unidad, sino que, en cambio, pone partes de l en huecos entre otros archivos (usualmente estos huecos existen porque antes contuvieron un archivo que posteriormente fue borrado por el sistema operativo, o porque ste en primer lugar asign demasiado espacio para un archivo). Los archivos ms grandes y el mayor nmero de archivos tambin contribuyen a la fragmentacin y en consecuencia a la prdida de rendimiento. La desfragmentacin intenta aliviar estos problemas.

Fragmentacin

La fragmentacin es la memoria que queda desperdiciada al usar los mtodos de gestin de memoria. Tanto el primer ajuste, como el mejor y el peor producen fragmentacin externa (Conocidos como estrategias de Colocacin). La fragmentacin es generada cuando durante el reemplazo de procesos quedan huecos entre dos o ms procesos de manera no contigua y cada hueco no es capaz de soportar ningn proceso de la lista de espera. Tal vez en conjunto si sea espacio suficiente, pero se requerira de un proceso de desfragmentacin de memoria o compactacin para lograrlo. Esta fragmentacin se denomina fragmentacin externa. Existe otro tipo de fragmentacin conocida como fragmentacin interna, la cual es generada cuando se reserva ms memoria de la que el proceso va realmente a usar. Sin embargo a diferencia de la externa, estos huecos no se pueden compactar para ser utilizados. Se debe de esperar a la finalizacin del proceso para que se libere el bloque completo de la memoria. Fragmentacin interna La fragmentacin interna es la prdida de espacio en disco debido al hecho de que el tamao de un determinado archivo sea inferior al tamao del cluster, ya que tericamente el archivo estara obligado a ser referenciado como un cluster completo. Los cluster(s) son contiguos de forma que desde el ltimo bit del archivo situado en el cluster "a" hasta el primer bit del archivo situado en el cluster contiguo (es decir "b") queda un espacio sobrante siempre teniendo la condicin de que el archivo del cluster "a" fuera ms pequeo que el cluster en s. Por eso se sugiere no disponer de un gran tamao de particin en los discos nuevos donde la capacidad es muy importante. Por ejemplo si nuestro clster es de 18KB (18.432 bytes) por ms que un archivo ocupe menos, en nuestro disco ocupara 18KB. Esto sugiere una prdida de ese espacio que dice utilizar pero no utiliza. Por eso, en nuestro ejemplo, un archivo de 3KB ocupara en nuestro disco lo mismo que uno de 10KB, o sea 18 KB. Esa prdida de espacio se denomina fragmentacin interna, y no se corrige con el desfragmentador, sino disminuyendo el tamao de la particin.

Fragmentacin externa Este tipo de fragmentacin aparece como consecuencia de las distintas polticas de ajuste de bloques que tiene un sistema de ficheros, o al utilizar asignaciones dinmicas de bloques en el caso de la memoria. En el sistema de ficheros, la sucesiva

creacin y eliminacin de ficheros de distintos tamaos puede conducir al aislamiento de los bloques libres de un disco y, dependiendo de la poltica de ajuste, su no eleccin para futuros ficheros. En la memoria del sistema la fragmentacin se produce cuando los procesos asignados han ocupado posiciones no contiguas de memoria dejando demasiados bloques libres de pequeo tamao, en los que no "caben" nuevos procesos. En sistemas de ficheros la desfragmentacin trata de resolver este problema, alineando los bloques de datos contiguos y juntando los bloques libres, produciendo as fragmentos mayores que s sern elegidos para futuros ficheros. En la memoria principal se soluciona compactando los procesos para que estos ocupen posiciones contiguas y dejar los bloques libres juntos, o tambin se soluciona con la paginacin de memoria. Este proceso consta de ordenar los trozos de informacin distribuida a travs de todo el disco, para mejorar la velocidad de acceso y distribuir de mejor forma el espacio libre del dispositivo. Como este proceso consta en la reorganizacin de partes de archivos, requiere de suficiente memoria para realizar los movimientos de los trozos de informacin. Al mover en forma fsica la informacin, la estructura lgica no sufre alteraciones. Aspectos de la desfragmentacin En Windows la presencia de archivos inamovibles del sistema, o que el defragmentador no mover para simplificar su tarea (sobre todo con el archivo de intercambio, o swap file), puede impedir un buen porcentaje de desfragmentacin en el disco. Ciertos sistemas de archivos son ms susceptibles a cambios por desfragmentacin que otros. Por ejemplo, una particin del tipo FAT se fragmenta ms rpido que una de particin del tipo NTFS (Windows) Particionado Una estrategia comn para optimizar la desfragmentacin y reducir el impacto de la fragmentacin es particionar el/los disco(s) duro(s) para separar las particiones del sistema de archivos que experimentan muchas ms lecturas y escrituras, de las zonas ms voltiles, donde se crean y borran frecuentemente los archivos. En Windows de Microsoft, el contenido de directorios tales como "\Archivos de programas" o "\Windows" se modifica con mucha menor frecuencia que la de sus lecturas. Los directorios que contienen los perfiles de los usuarios se modifican constantemente (especialmente el directorio Temp y el cache del Explorador de Internet, que crea miles de archivos que se borran en unos cuantos das). Si los archivos de los perfiles de los usuarios se mantienen en una particin dedicada (como se hace comnmente en los sistemas UNIX), el desfragmentador funciona mejor, pues no tiene que tratar con todos los archivos estticos de los otros directorios. En las particiones con relativamente poca actividad, el rendimiento de la desfragmentacin mejora grandemente despus de la primera de ellas, pues en el futuro el defragmentador slo tendr que desfragmentar un pequeo nmero de nuevos archivos. Problemas Problemas: Archivos inamovibles La presencia de archivos de sistema inamovibles, especialmente un archivo de intercambio, puede dificultar la desfragmentacin. Estos archivos se pueden mover con seguridad cuando el sistema operativo no est funcionando. Por

ejemplo, ntfsresize mueve estos archivos para cambiar el tamao de una particin NTFS. Crecimiento de la fragmentacin En sistemas sin resistencia a la fragmentacin, sta crece por s misma si no se hace nada, as que es necesaria la desfragmentacin peridica para mantener el rendimiento del disco al mximo y evitar la sobrecarga de desfragmentaciones menos frecuentes. Problemas de rendimiento y del usuario En una amplia gama de sistemas operativos multiusuario, un usuario ordinario no puede desfragmentar los discos del sistema pues se requiere el acceso del superusuario (o "Administrador") para mover los archivos del sistema. Adems, los sistemas de archivos tales como el NTFS (y la mayora de los sistemas de archivos Unix/Linux) estn diseados para reducir la probabilidad de la fragmentacin. [2][3] Las mejoras en los discos duros modernos, tales como cache en RAM, mayor velocidad de rotacin del disco y mayor densidad de datos, reducen en algn grado el impacto negativo de la fragmentacin en el rendimiento del sistema, aunque los aumentos en las cantidades de datos usados comnmente compensan estos efectos. No obstante, los sistemas modernos se benefician en gran medida de las enormes capacidades de disco disponibles actualmente, pues los discos parcialmente ocupados se fragmentan mucho menos que los discos llenos.[4] En cualquier caso, estas limitaciones de la desfragmentacin han llevado a decisiones de diseo en los sistemas operativos modernos, tales como el Mac OS X basado en Unix, el cual se introdujo en 1999 y elimin la necesidad, en la utilizacin normal, de que el usuario tenga que desfragmentar una unidad. Ocho aos despus, en 2007, Windows vista tambin introdujo la capacidad de desfragmentar automticamente en un proceso en segundo plano --aunque no intenta desfragmentar completamente un volumen, pues hacerlo slo producira aumentos de rendimiento despreciables.[5] Aproximacin y desfragmentadores segn el tipo de sistema. Los programas de desfragmentacin, por lo general, vienen incorporados al sistema operativo (excepto en Windows NT 4). Tambin existen aplicaciones externas, las cuales poseen opciones ms avanzadas que las propuestas por los fabricantes del sistema operativo. El defragmentador ms conocido es el Defrag, que es usado en MS-DOS y en las plataformas de Windows (en estas ltimas con el nombre de "Desfragmentador de disco"). Puede ser encontrado en las versiones de Windows en Inicio -> Programas -> Accesorios -> Herramientas de Sistema. Desfragmentadores segn tipo de particin del sistema FAT: Los sistemas DOS 6.x y Windows 9x vienen con una utilidad de desfragmentacin llamada Defrag. La de DOS es una versin limitada de SpeedDisk de Norton[6], y la de Windows es una versin con licencia de Diskeeper. NTFS: Windows 2000 y posteriores incluyen una herramienta de desfragmentacin basada en Diskeeper. NT 4 y anteriores no incorporan utilidades de desfragmentacin. Desafortunadamente, el defragmentador integrado no consolida el espacio libre. Por lo tanto una unidad fuertemente fragmentada con muchos archivos pequeos puede no tener grandes espacios libres consecutivos despus de la desfragmentacin. As, cualquier nuevo archivo grande instantneamente ser dividido en fragmentos pequeos, con un impacto

inmediato en el rendimiento. Esto puede ocurrir incluso si el espacio usado en el disco es inferior al 60%.[7] Ext2 (Linux) usa un defragmentador externo llamado e2defrag, el cual no funciona con su sucesor ext3, a menos que este sistema de archivos se convierta temporalmente en ext2. En su lugar se puede usar un defragmentador independiente del sistema de archivos, tal como Shake[1]. vxfs tiene una utilidad, fsadm, pensada para realizar tambin operaciones de desfragmentacin. JFS tiene una utilidad, defragfs,[2] en los sistemas operativos de IBM. HFS Plus (MAC OS X) introdujo en 1998 un nmero de optimizaciones a los algoritmos de asignacin, en un intento de desfragmentar los archivos mientras se acceda a ellos, sin un desfragmentador separado. Si el sistema de archivos se vuelve fragmentado, la nica manera de desfragmentarlo es adquirir una aplicacin como iDefrag de Coriolis System, o DiskWarrior, de Alsoft. Capacidad de enlaces: En computacin, un enlace duro o enlace fsico (en ingls, hard link) es una referencia o puntero a un archivo (al dato fsico) en un sistema de archivos. Una modificacin realizada utilizando este enlace se reflejar en el original; pero, por el contrario, si se elimina el enlace, no se eliminar el autntico. Otra opcin menos usual es utilizar un enlace duro (hard link), en el que el acceso es indistinguible del real, y el borrado del enlace provoca el borrado del archivo o directorio si era el ltimo enlace duro al fichero. Una ventaja del enlace simblico frente a los enlaces duros es que es posible realizar enlaces simblicos que apunten a objetos en sistemas de archivos que se hallan en otros dispositivos o particiones dentro del mismo dispositivo. Adems, cualquier usuario puede crear un enlace simblico a un directorio, accin que est restringida al superusuario en sistemas UNIX, aunque en los sistemas modernos esta posibilidad no existe. . Los permisos del sistema de archivo sobre el enlace simblico no tiene relevancia alguna: los permisos en el objeto al cual referencia el enlace simblico son los que determinan los permisos de acceso. Es interesante observar que el tamao de un enlace simblico es igual al nmero de caracteres en el camino al objeto que el apunta. INTERFACES DE ENTRADA /SALIDA: Familia de Circuitos que permiten adaptar, leer y/o gobernar seales externas desde y hacia un sistema microprocesador

Tipos de Entradas / Salidas A) Formato de la informacin: Paralelo: una lnea por bit del dato y todos simultneos. Serie: todos los datos a travs de la misma lnea y multiplexados en el tiempo PUERTO E/S PARALELO D0 PUERTO E/S SERIAL D0 D6 D1 D7 D2 D3 D4 D5

D7

B) Tipo de transferencia: Sncrona: se enva o recibe una seal de reloj para sincronizar la transferencia de entrada / salida Asncrona: no existe seal de reloj de sincronizacin. Es necesario establecer un protocolo de comunicacin (handshake)

C) Tipo de seales elctricas Digitales Analgicas Mixtas D) Direccin de los datos: Entrada: todas las lneas son permanentemente de entrada Salida: lneas permanentemente de salida Programables: las lneas son configurables para actuar como entradas o como salidas

E) Funcionalidad Interfaces generales: USART, Puertos paralelo Interfaces dedicadas: temporizadores, controlador disco duro,... Coprocesadores de E/S Registros de Entrada / Salida Son registros asociados a los puertos de E/S Tipos de registros: Registros de datos: donde se colocan los datos a sacar al exterior o de donde se leen los datos Registros de control: determinan el modo de operacin y la configuracin de la unidad de E/S Cada puerto puede tener asociados varios registros Un mismo registro puede afectar a varios puertos Pueden ser accesibles mediante operaciones genricas de lectura/escritura o mediante instrucciones especficas de entrada/salida BUFFER ASIGNACIONES Se trata de asignar un tamao fijo (estructura esttica de datos) o variable (estructura dinmica, como pila o cola, p.e.), a una coleccion de Variables usadas para almacenar k procesos. 1. Con buffer dedicado, un proceso recibe el buffer al nacer y no lo deja de usar hasta que termina, sin que tampoco lo use ningn otro. 2. Con buffer compartido, todos los procesos escriben y leen en el buffer. Ten en cuenta que en este caso los datos en el buffer deben ser identificabies, de modo que un proceso no lea datos de otro (en realidad podras identificar los elementos del buffer en ambas configuraciones para ganar generalidad, y prcticamente no perderas capacidad de almacenamiento en el buffer). Con los buffer de tamao dinmico hay que considerar tambin el problema de la eventual falta de memoria, etc.. y limitar el tamao de alguna forma, o preveer que esa situacin podra darse en un sistema con muchos servidores. MAPA DE ARCHIVOS Esta aplicacin es sumamente til para encontrar archivos grandes que te estn quitando espacian en el disco duro o para poder comparar grficamente cuanto estn ocupando sus carpetas en el disco. Los archivos mas pesados se representan un tamao mayor. Tambin saca un porcentaje que indica Porcentaje de tu disco que almacena imgenes y videos, elimina carpetas etc Space monger es el programa de utilidad que sirve para ver estos parmetros. Mapa de bits: Mapa de bits, bitmap, pixmap, imagen matricial o imagen rasterizada es una estructura de datos que representa una rejilla rectangular de pxeles o puntos de color, conocida como raster, que puede ser visualizada en un monitor de computadora, en un papel o en otros dispositivos de representacin. El trmino raster proviene del latn rastrum (rastrillo), que a su vez deriva de radere (raspar). Los mapas de bits suelen ser caracterizados segn su alto y ancho en pxeles (que determina la resolucin de imagen), o de acuerdo a la

profundidad de color (en bits por pxel), que refleja la cantidad de colores que se pueden almacenar en cada pxel. A diferencia de los grficos vectoriales, que representan una imagen mediante objetos geomtricos, los grficos rasterizados se limitan al almacenamiento de color en cada pxel. Los mapas de bits suelen utilizarse para tomar fotografas digitales, realizar capturas de video y convertir archivos analgicos en digitales, por ejemplo a travs de un escner. La cantidad de bits de color por pxel es clave para la calidad de la imagen. Un mapa de bits que almacena 24 bits de informacin de color por pxel puede representar ms matices de color que una imagen que almacene 16 bits por pxel, pero tendr menos nivel de detalle que un bitmap que presente 48 bits por pxel. De igual forma, una imagen con una resolucin de 640 x 480 pxeles parecer ms pequea que una imagen de 1280 x 1024, aunque pueden tener la misma calidad. Existen dos categoras principales de imgenes: imgenes de mapa de bits (tambin denominadas imgenes raster): son imgenes pixeladas, es decir que estn formadas por un conjunto de puntos (pxeles) contenidos en una tabla. Cada uno de estos puntos tiene un valor o ms que describe su color. imgenes vectoriales: las imgenes vectoriales son representaciones de entidades geomtricas tales como crculos, rectngulos o segmentos. Estn representadas por frmulas matemticas (un rectngulo est definido por dos puntos; un crculo, por un centro y un radio; una curva, por varios puntos y una ecuacin). El procesador "traducir" estas formas en informacin que la tarjeta grfica pueda interpretar. Dado que una imagen vectorial est compuesta solamente por entidades matemticas, se le pueden aplicar fcilmente transformaciones geomtricas a la misma (ampliacin, expansin, etc.), mientras que una imagen de mapa de bits, compuesta por pxeles, no podr ser sometida a dichas transformaciones sin sufrir una prdida de informacin llamada distorsin. La apariencia de los pxeles en una imagen despus de una transformacin geomtrica (en particular cuando se la ampla) se denomina pixelacin(tambin conocida como efecto escalonado). Adems, las imgenes vectoriales (denominadas clipart en el caso de un objeto vectorial) permiten definir una imagen con muy poca informacin, por lo que los archivos son bastante pequeos. Por otra parte, una imagen vectorial slo permite la representacin de formas simples. Si bien es verdad que la superposicin de varios elementos simples puede producir resultados impresionantes, no es posible describir todas las imgenes con vectores; ste es particularmente el caso de las fotografas realistas.

Imagen vectorial

Imagen de mapa de bits

La imagen "vectorial" anterior es slo la representacin de lo que una imagen vectorial podra parecer, porque la calidad de la imagen depende del dispositivo utilizado para hacerla visible al ojo humano. Probablemente su pantalla le permita ver esta imagen con una resolucin de al menos 72 pxeles por pulgada. El mismo archivo impreso en una impresora ofrecera una mejor calidad de imagen ya que la impresin se realizara con al menos 300 pxeles por pulgada. Tipos de mapas de bits (.NET Framework 2.0) Un mapa de bits es una matriz de bits que especifica el color de cada pxel de una matriz rectangular de pxeles. El nmero de bits asignado a un pxel individual determina el nmero de colores que se pueden asignar a dicho pxel. Por ejemplo, si cada pxel se representa con 4 bits, a un pxel determinado se le podr asignar uno entre los 16 colores distintos (2^4 = 16). En la siguiente tabla se muestran unos cuantos ejemplos del nmero de colores que se le pueden asignar a un pxel que se representa con un nmero de bits determinado. Bits por pxel Nmero de colores que se le pueden asignar a un pxel 1 2 4 8 16 24 2^1 = 2 2^2 = 4 2^4 = 16 2^8 = 256 2^16 = 65,536 2^24 = 16,777,216

Los archivos de disco que almacenan mapas de bits contienen, por lo general, uno o varios bloques de informacin que almacenan datos como, por ejemplo, el nmero de bits por pxel, nmero de pxeles de cada fila y nmero de filas de la matriz. Un archivo de este tipo podra contener tambin una tabla de colores (a veces se denomina paleta de colores). Una tabla de colores asigna nmeros a colores especficos en el mapa de bits. En la siguiente ilustracin se muestra una imagen ampliada junto con el mapa de bits y la tabla de colores correspondientes. Cada pxel se representa con un nmero de 4 bits y, por lo tanto, hay 2^4 = 16 colores en la tabla de colores. Cada color de la tabla se representa con un nmero de 24 bits: 8 bits para el rojo, 8 bits para el verde y 8 bits para el azul. Los nmeros se muestran en formato hexadecimal (base 16): A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.

Observe el pxel de la fila 3, columna 5 de la imagen. El nmero que le corresponde en el mapa de bits es el 1. La tabla de colores indica que el 1 representa el color rojo y, por ello, el pxel es rojo. Todas las entradas de la fila superior del mapa de bits son el nmero 3. La tabla de colores indica que el 3 representa el azul, as que todos los pxeles de la fila superior de la imagen son azules. Un mapa de bits que almacena ndices en una tabla de colores se denomina mapa de bits de paleta indizada. Algunos mapas de bits no necesitan una tabla de colores. Por ejemplo, si un mapa de bits utiliza 24 bits por pxel, el propio mapa de bits puede almacenar los colores en lugar de los ndices de una tabla de colores. En la siguiente ilustracin se muestra un mapa de bits que almacena colores directamente (24 bits por pxel) en lugar de utilizar una tabla de colores. En la ilustracin se muestra tambin una vista ampliada de la imagen correspondiente. En el mapa de bits, FFFFFF representa el blanco, FF0000 representa el rojo, 00FF00 representa el verde y 0000FF representa el azul.

Formatos de archivos de grficos Hay muchos formatos estndar para guardar mapas de bits en archivos de disco. GDI+ admite los formatos de archivos de grficos que se describen en los prrafos siguientes. BMP (Bit MaP, mapa de bits) BMP es un formato estndar que Windows utiliza para almacenar imgenes independientes del dispositivo e independientes de la aplicacin. El nmero de bits por pxel (1, 4, 8, 15, 24, 32 o 64) de un archivo BMP determinado se especifica en un encabezado de archivo. Los archivos BMP con 24 bits por pxel son muy comunes. Los archivos BMP no suelen comprimirse y, por tanto, no son muy apropiados para su transferencia a travs de Internet.

GIF (Graphics Interchange Format, formato de intercambio de grficos) GIF es un formato comn de las imgenes que aparecen en pginas Web. Los archivos GIF funcionan bien para dibujar lneas, imgenes con bloques de color slido e imgenes con lmites definidos entre colores. Los archivos GIF se comprimen, sin que se pierda informacin durante el proceso de compresin; una imagen descomprimida es exactamente igual que la imagen original. En un archivo GIF se puede especificar un color como transparente, de forma que la imagen tenga el color de fondo de cualquier pgina Web en la que se muestre. Una secuencia de imgenes GIF puede almacenarse en un nico archivo para formar un GIF animado. Los archivos GIF almacenan como mximo 8 bits por pxel, por lo que se limitan a 256 colores. JPEG (Joint Photographic Experts Group, grupo conjunto de expertos en fotografa) JPEG es un esquema de compresin que funciona muy bien para escenas naturales como fotografas escaneadas. Durante el proceso de compresin se pierde algo de informacin, pero la prdida suele ser imperceptible para el ojo humano. Los archivos JPEG almacenan 24 bits por pxel, por lo que son capaces de mostrar ms de 16 millones de colores. Los archivos JPEG no admiten transparencia ni animacin. El nivel de compresin de las imgenes JPEG puede configurarse, pero cuanto mayor sea el nivel de compresin (archivos ms pequeos), mayor ser la prdida de informacin. Una razn de compresin de 20:1 suele generar una imagen que el ojo humano apenas distingue de la imagen original. En la siguiente ilustracin se muestra una imagen BMP y dos imgenes JPEG que se han comprimido a partir de dicha imagen BMP. La primera imagen JPEG tiene una razn de compresin de 4:1 y la segunda imagen JPEG tiene una razn de compresin en torno a 8:1. Sistema operativo MVS MVS medios de almacenamiento virtuales mltiples. MVS es el sistema operativo destinado a grandes ordenadores de IBM (u ordenadores compatibles). Las empresas ms importantes tiene que procesar grandes cantidades de datos accedidos por miles y miles de personas. MVS, el ms complejo de todos los sistemas operativos, fue construida por IBM en los aos 70 para hacer frente a esa necesidad. Tenga en cuenta que el nuevo nombre de MVS es OS/390, y que el nuevo nombre para OS/390 yz / OS (sistema operativo zee) ... MVS: entonces y ahora. Hoy, MVS es el ms potente y fiable de IBM del sistema operativo del ordenador. Con los aos, MVS ha sido refinado y perfeccionado, incorporando las necesidades del cliente, permaneciendo en sintona con el nuevo hardware y desarrollos de software, y la ampliacin de su capacidad para mantener el ritmo con cambios de direccin en la tecnologa. El MVS de hoy no es el MVS de edad. De hecho, gran parte de MVS se ha reescrito, con el estado de la tcnica ms moderna que refleja los nuevos conceptos y funciones para asegurar altos niveles de calidad y disponibilidad. MVS / ESA tiene una larga y rica herencia. Sus races se encuentran en OS/360, IBM un sistema operativo desarrollado en la dcada de 1960. Si usted es un recin llegado a MVS, o han estado en el procesamiento de datos por 40 aos, esperamos que disfrute de esta retrospectiva. Con MVS / ESA, un alto grado de escalabilidad que se ha logrado, pasar de un entorno con un solo procesador a travs de multiprocesamiento de ocho posiciones y Sysplex; de kilobytes de almacenamiento real de gigabytes de almacenamiento central y ampliado. Procesadores adicionales son compatibles con las tasas de utilizacin eficiente. MVS / ESA soporta la gama completa de caractersticas arquitectnicas. Define la arquitectura de mecanismos de proteccin van desde la proteccin bajo la direccin de MVS a la proteccin del subsistema de almacenamiento para CICS. MVS / ESA define de almacenamiento virtual que llega en terabytes. Se ha aadido

instrucciones de clase, instalacin de DB2 tipo de ayuda, una instalacin de vectores, una caracterstica de cifrado y compresin, los canales de flujo de datos, subsistemas dinmica de canales, canales ESCON, CTC, un temporizador Sysplex y mucho ms. MVS / ESA se ha convertido en un sistema operativo altamente sofisticado y fiable que proporciona un gran valor para el cliente y continuamente se responda a las necesidades del cliente. MVS / ESA tiene la calidad, integridad y funcin, junto con la capacidad de respuesta y la realizacin de desempeo, necesarios para ejecutar los negocios de hoy. Ningn otro sistema operativo que coincide. Un sistema de MVS es un conjunto de productos bsicos y un conjunto de productos opcionales. Esto permite al cliente elegir el conjunto de funciones que necesitan y excluir el resto. En la prctica, la mayora de los clientes probablemente utilizar casi todas las funciones. La interfaz de usuario principal se sistemas MVS TSO (opcin Time Sharing). El Fondo para el sistema de productividad Interactive ( ISPF ) es un conjunto de mens para la elaboracin y gestin de programas y para configurar el sistema. El sistema de trabajo principal es la gestin de cualquier subsistema de entrada de trabajo 2 o 3 ( JES2 o JES3 ). De almacenamiento ( DASD ) la gestin es realizada por DFSMS (almacenamiento de archivos distribuido Subsistema de Gestin). MVS es considerablemente ms complejo y requiere mucha ms educacin y experiencia para operar que los ms pequeos de servidores y sistemas operativos de ordenadores personales. El almacenamiento virtual en MVS se refiere a la utilizacin de la memoria virtual en el sistema operativo. Almacenamiento virtual o la memoria permite que un programa tenga acceso a la mxima cantidad de memoria en un sistema a pesar de que esta memoria es, en realidad se comparte entre los programas de aplicacin ms de uno. El sistema operativo se traduce la direccin virtual del programa en la direccin de memoria fsica real, donde los datos se encuentra realmente. El mltiple en MVS indica que la memoria virtual se mantiene separada para cada una de las particiones de tareas mltiples. ISPF (instalacin interactiva de la productividad del sistema) es la interfaz de usuario y el apoyo a los programas que vienen con IBM OS/390 sistema operativo y que permiten a una compaa para configurar y administrar el sistema, aadir nuevos sistemas o programas de aplicacin y prueba de ellos, y acceder a archivos del sistema ( conjuntos de datos). ISPF consiste en el dilogo Administrador (DM), el Fondo para el Desarrollo (PDF), y la configuracin del software de gestin de instalaciones y de la Biblioteca (SCLM). DASD, pronunciado DAZ-dee (dispositivo de almacenamiento de acceso directo), es un trmino general para los discos magnticos de almacenamiento de dispositivos. El trmino se ha utilizado histricamente en el chasis y minicomputadoras (ordenador de gama media) y estn a veces se usa para referirse al disco duro unidades para los ordenadores personales. Una matriz redundante de discos independientes (RAID) es tambin un tipo de DASD. Roscoe Editor lRoscoe viene a ser en palabras ms simples un editor, claro que tambin tiene una definicin ms completa y correcta que indica que Roscoe es una herramienta de mantenimiento y desarrollo de programas en lnea. El hecho es que a travs de esta herramienta nosotros podremos administrar y editar nuestro cdigo en cobol, cics, db2. El AWS: siglas de Active Works Space, y es el area de trabajo temporal disponible para que ingreses tu texto y la edites. La Librera CA-Roscoe: rea de almacn permanente donde puedes guardas el texto que has estado trabajando sobre el AWS. Existen muchas comandos Roscoe que nos facilitar nuestro trabajo en cobol cics db2, pero que las veremos mas adelante os datos.

Aspectos de integracin y rendimiento:


La tecnologa de computadores ha progresado en los ltimos aos de manera en vertiginosa, en 1945 no existan computadoras con programas almacenados hoy da se pueden adquirir computadores personales con mucha memoria y almacenamiento en disco duro. Este rpido crecimiento en las prestaciones es consecuencia del avance de la tecnologa en los computadores al construirse. Mientras que el avance en las mejoras tecnolgicas ha sido constante el progreso en las mejoras de arquitectura ha sido menos constante. Durante los ltimos 20 aos las computadoras diseadas han dependido exclusivamente de la tecnologa de circuitos integrados, el crecimiento varia de 20 ha 30% por ao dependiendo del modelo del equipo. Entre todas las lneas de computadoras la velocidad de crecimiento entre los Mainframes es la que mas se debe a la tecnologa. En cuanto a los microcomputadores , el rendimiento y crecimiento ha sido muy rpido aprovechando esta tecnologa. El xito comercial de estas arquitecturas se debe a dos cambios . - Eliminacin virtual de la programacin en lenguaje assembler. - La creacin de nuevos sistemas operativos estandarizados e independientes de los vendedores como por ejemplo el sistema operativo unix. Crecimiento del rendimiento. Cuando decimos que un computador es ms rpido que otro, qu queremos significar? El usuario del' computador puede decir que un computador es ms rpido cuando ejecuta un programa en menos tiempo. El director de un centro de clculo puede decir que un computador es ms rpido cuando completa ms tareas en una hora. El usuario del computador est interesado en reducir el tiempo de respuesta -el tiempo transcurrido entre el comienzo y el final de un evento- denominado tambin tiempo de ejecucin o latencia. El director del centro de clculo est interesado en incrementar la productividad (throughput) -la cantidad total de trabajo realizado en un tiempo determinado- a veces denominado ancho de banda. Normalmente los trminos tiempo de respuesta, tiempo de ejecucin y productividad se utilizan cuando se est desarrollando una tarea de clculo completa. Los trminos latencia y ancho de banda casi siempre se eligen cuando se ha bla de un sistema de memoria. Todos estos trminos aparecern a lo largo de esta gua. El reloj del computador: Un ciclo de reloj es la unidad de tiempo usada para la ejecucin de las operaciones Las operaciones se realizan dentro del ciclo de reloj. Tambin denominado cielos por segundo o frecuencia, este trmino hace referencia a la velocidad del procesador incorporado en la CPU del ordenador, y se mide en megaherzios (MHz). A mayor ndice de frecuencia, ms rpido es el procesador y, en consecuencia, el ordenador. Hace unos aos era frecuente encontrar procesadores a 16 MHz, pero hoy en da lo normal es que stos superen los 120 MHz. Concepto relacionado con Ciclo de reloj -Frecuencia: Frecuencia Nmero de veces que se repite una onda en una cantidad de tiempo determinada. Su unidad de medida es el hertzio y la velocidad de los procesadores (o ciclos... -Ciclo: Ciclo Rutina que ejecuta un conjunto de instrucciones de manera repetitiva hasta que se cumple.... Programa Residente: Programa Residente Buena parte de los elementos de un programa estn situados en la memoria de acceso selectivo y no entran en la memoria central sino cuando, a lo largo...

-Ciclo de reloj ms rpido. - Mltiples procesadores para tareas separadas (tratamiento del sistema de reservas de una compaa area, para un pas, por ejemplo). - Procesamiento paralelo de problemas cientficos. La disminucin del tiempo de respuesta, habitualmente, mejora la productividad. Las siguientes mejoras en rendimiento incrementan la productividad, hacen disminuir el tiempo de respuesta, o ambas cosas? 1. Ciclo de reloj ms rpido. 2. Mltiples procesadores para tareas separadas (tratamiento del sistema de reservas de una compaa area, para un pas, por ejemplo). 3. Procesamiento paralelo de problemas cientficos. La disminucin del tiempo de respuesta, habitualmente, mejora la productividad. Por consiguiente, 1 y 3 mejoran el tiempo de respuesta y la productividad. En 2, ninguna tarea funciona ms rpida, por tanto, slo incrementa la productividad Repuesta: Las opciones 1 y 3 mejoran el tiempo de respuesta y la productividad. La 2da opcin no mejora ninguna tarea ni funciona ms rpida, por tanto, slo incrementa la productividad. Las clases de computadoras estn definidas bsicamente en funcin de su costo. Los supercomputadores, diseados para aplicaciones cientficas son las maquinas de ms alto rendimiento. ( Costo= muchos millones de dlares). Computadoras mainframes: Son maquinas de propsito general de altas prestaciones, su costo est por debajo de los supercomputadores. La mini computadoras, son maquinas de tamao medio cuyo costo est entre 50 y 500 mil dlares. Los microcomputadores varias desde los computadores personales que cuestan unos pocos dlares hasta las potentes estaciones de trabajo. Creo que estas medidas se describen mejor con distribucin de probabilidades en lugar de valores constantes. Por Ejemplo. Consideremos el tiempo de repuesta para completar una operacin E/S en un disco. En realdad esto depende de muchos factores no predecibles. Lo que el disco est haciendo en el momento de la peticin E/S, del numero de tareas que estn esperando para acceder al disco. En estas condiciones entonces es mejor hablar de tiempo promedio de acceso al disco y no de un tiempo especifico como se acenta en muchos textos . De igual forma la productividad efectiva de un disco, el numero de datos que van y vienen desde el disco por unidad de tiempo no es un valor constante por lo tanto debemos hablar entonces de tiempo promedio. JOB CONTROL LANGUAGE (JCL) JCL, acrnimo de Job Control Language, se traduce al espaol como Lenguaje de Control de Trabajos. Es un conjunto de especificaciones de morfologa y sintaxis requeridas para la redaccin de instrucciones de ejecucin de programas informticos por parte del sistema operativo de un equipo informtico. Este lenguaje se usa en los Ordenadores Centrales (Mainframes) y es especfico para cada sistema operativo.

Las instrucciones (tambin llamadas 'pasos' o 'sentencias') del JCL son declaraciones u rdenes con las que se indica al sistema operativo qu tareas debe realizar, en qu secuencia han de ejecutarse y en qu perifricos estn ubicados los ficheros de datos (de entrada y/o de salida) que requieren dichas tareas. Un procedimiento (tambin llamado trabajo o job) es un conjunto coherente de instrucciones para realizar un trabajo particular. El uso del JCL permite un alto grado de flexibilidad e independencia respecto a la ubicacin fsica de los programas y ficheros involucrados. Algunas caractersticas del JCL: Las sentencias JCL comienzan con // El contenido de cada sentencia a partir de la columna 72 se considera comentario (no orden ejecutiva) La primera sentencia es JOB. Todas las sentencias han de escribirse en MAYSCULAS. Un procedimiento debe tener como mnimo un paso o sentencia del tipo EXEC asociada al programa que se desea ejecutar. El procedimiento termina en una ltima lnea que incluye solo los caracteres // Las lineas que comienzan con //* se consideran comentarios 1. Introduccin Este tutorial est enfocado a intentar explicar de forma sencilla el proceso que necesitamos para ejecutar cualquier proceso Batch (proceso por lotes) en un entorno Host en el lenguaje JCL (Job Control Lenguaje). Para comenzar deciros que un conjunto coherente de sentencias es conocido como un procedimiento, aunque tambin es llamado trabajo o Job; ms que nada porque dependiendo de donde estis se llamarn de una forma u otra. Y a su vez todo Job est dividido en Pasos (Step) que contienen los parmetros y programas necesarios para poder ejecutar dicho Job con xito. Lo bsico. Estas son algunas de las caractersticas bsicas que se deben de tener en cuenta a la hora de codificar un Job: La mayora de las sentencias JCL comienzan con // Hay un delimitador /* (que ms adelante veremos) Para realizar comentarios dentro del Job //* El contenido de cada sentencia a partir de la columna 72 se considera comentario (no una sentencia) La primera sentencia es JOB. Todas las sentencias han de escribirse en MAYSCULAS, es que si no les gritas no funcionan ;-) Un Job debe tener como mnimo un paso o sentencia del tipo EXEC asociada al programa que se desea ejecutar. El Job termina en una ltima lnea que incluye solo los caracteres // Como el fin de ejecutar cualquier Job es realizar el procesamiento de datos, vamos a definir una serie de trminos para ver la organizacin e interpretacin de dichos datos. Dentro del Job habr que definir cuanto espacio en mquina vamos a necesitar para guardar dichos datos. Existen 2 tipos: PISTA (TRK): pequea superficie de un disco fsico. CILINDRO (CYL): est formado por 15 pistas. Para ficheros pequeos deberemos utilizar TRK, ya que si abusamos de los CYL la mquina nos puede echar para atrs en procedimiento por falta de espacio. Para la correcta gestin de los mismos debemos saber que: DATOS: Es la informacin que el ordenador necesita para realizar su proceso CAMPOS: Es un rea de datos concreta REGISTRO: Conjunto de campos FICHERO: Conjunto de registros

Para realizar una correcta ejecucin de un Job tendremos que asegurarnos tener una serie de registros coherentes, pudiendo ser el formato de los mismos de las siguientes formas: Fijo (F): todos tienen una misma longitud Variable (V): de longitud variable Bloqueado (B): los registros lgicos y fsicos no tienen la misma longitud Expandido (S): los registros lgicos pueden expandirse a diferentes registros fsicos Indefinido (U): son de longitud variable, no se especifica la longitud en el registro. Se genera un bloque del tamao del registro Una vez definidos los formatos de los registros habr que ver cules son los tipos de ficheros que nos podemos encontrar: SECUENCIAL: Se almacenan los registros uno detrs de otro, recuperndose, a la hora de su lectura, en el mismo orden en que fueron grabados en el fichero. PARTICIONADO (PDS): Estos ficheros contienen miembros y un directorio. El directorio est situado al comienzo del fichero y contiene una entrada para cada miembro. Los miembros se pueden tratar como ficheros secuenciales. VSAM: Organizacin de ficheros y mtodo de acceso de alto rendimiento. Organiza y mantiene los datos mediante una estructura de catlogos, usando memoria virtual. Despus de ver todas estas caractersticas, estamos preparados para comenzar a ver la estructura y comandos de un Job. 3. Estructura y comandos de un Job. Vamos a ver un ejemplo de Job, teniendo en cuenta que los caracteres y nmeros que aparecen en primer lugar solo son una regla que nos sirve de gua para no sobrepasar nunca los 72 caracteres de codificacin (recordar que a partir de ah se considera comentario): view sourceprint? 1 1 2 3 4 5 6 7 2 ----+----0----+----0----+----0----+----0----+----0----+----0----+----0-3 //PRUEBJOB JOB 102,'TUTORIAL',CLASS=A, 4 // MSGCLASS=H,MSGLEVEL=(1,1), 5 // NOTIFY=&SYSUID,REGION=4M, 6 // TIME=NOLIMIT,COND=(0,NE),PRTY=15, // RESTART=PASOSORT,TYPRUN=SCAN 7 Sentencia JOB, primera sentencia (llamada tambin cabecera) que indica el principio del Job. Solo puede existir una por Job. Definiremos los parmetros de palabra clave en esta sentencia: CLASS: indica la cola de entrada donde esperar el trabajo para ser ejecutado. MSGCLASS: indica la cola de salida donde dejar los mensajes que genere la ejecucin. MSGLEVEL: indica el tipo de mensajes que ha de imprimir el sistema, se realiza mediante dos sub-parmetros el primer 1 indica que queremos todos los mensajes JCL que se generen en el sistema y el segundo 1 indica que tambin queremos los mensajes relacionados con la informacin de los ficheros que vaya a usar el Job. Si no queremos la informacin relacionada con los ficheros dejaremos (1, 0).

NOTIFY: indica el nombre del usuario al que el sistema enviar un mensaje cuando termine el trabajo. TIME: indica el tiempo mximo de CPU que puede emplear el Job. REGION: indica la cantidad de memoria que va a utilizar el Job en su ejecucin. COND: indica una condicin para que los pasos del Job se sigan ejecutando. PRTY: se establece una prioridad al Job dentro de la clase de entrada. RESTART: indica desde que paso queremos re arrancar un Job (en caso de fallo del mismo) saltndose los pasos anteriores. Si no se especifica lanzara todo el Job desde el principio y hay ocasiones en las que no es necesario. TYPRUN: indica el tipo de ejecucin del Job (SCAN, validacin sintctica...)

El nombre del Job seria PRUEBJOB y el nombre del programador seria tutorial. Un aspecto a tener en cuenta es que ni el nombre del Job ni el del programador deben superar los 8 caracteres, y si pones ms, no te preocupes que al ejecutar el Job te lo dira con un mensaje de error.Ni que decir tiene que la mejor forma para que una cabecera este correctamente codificada es realizar el tpico copy/paste de un Job que ya funcione ;_) A continuacin definiremos la sentencia EXEC, necesaria para ejecutar un programa dentro de un Job, en este caso el programa TUTORPGM: view sourceprint? 1 1 2 3 4 5 6 7 2 ----+----0----+----0----+----0----+----0----+----0----+----0----+----0-3 //PRUEBJOB EXEC PGM=TUTORPGM,REGION=10M, 4 // TIME=(30,00),COND=((0,NE),(4,LT,EXTRAER)), 5 // ACCT=(prestamos.),DYNAMNBR=10, 6 // PARM=('TUTORIAL JCL PRUEBA 2010'),RD=NC, 7 // ADDRSPC=REAL REGION: especifica la cantidad de memoria que puede utilizar el paso. TIME: indica el tiempo mximo que puede emplear el paso (minutos, segundos).

COND: especfica bajo qu condiciones no se ejecutar el paso. ACCT: especifica la informacin contable relativa al paso, exigida por la instalacin. DYNAMNBR: mximo nmero de ficheros que pueden asignarse en un momento determinado, para su reutilizacin en el siguiente paso. PARM: se utiliza para pasar algn tipo de informacin al programa que est en proceso. Se pueden pasar como mximo 100 caracteres. RD: controla las posibilidades de re arranque del paso en el que est codificado. ADDRSPC: indica el tipo de memoria (virtual o real) en que se ejecutar el paso.

Para poder continuar con la ejecucin de nuestro Job necesitaremos utilizar la sentencia DD, que describe los ficheros con los que se va a trabajar (una sentencia DD por cada fichero). La cual identifica cada fichero lgico definido en la SELECT del programa con su fichero fsico. view sourceprint? 1 2 3 4 5 6 7 1 2 3 4 5 6 7

----+----0----+----0----+----0----+----0----+----0----+----0----+----0-//FICHERO1 DD DSN=TUTORIAL.PRUEBA.FICHERO1, // DISP=(NEW,CATLG,DELETE),VOL=SYSDTB1, // UNIT=4200,LABEL=3,SPACE=(TRK,(10,5),RLSE), // SYSOUT=*,COPIES=4,DEST=RMT005,OUTLIM=1500, // RECFM=FB,LRECL=150,BLKSIZE=1500 DSN: nombre fsico del fichero. DISP: indica el estado en el que se encuentra el fichero cuando empieza el trabajo, y cmo quedar despus de la ejecucin. formato para este parmetro es el siguiente: DISP=(NEW,CATLG,DELETE) o Parmetro 1: indica el estado del fichero al iniciarse el paso. NEW: no existe y se crea en el paso. OLD: existe y se debe utilizar de forma exclusiva. SHR: existe y se puede compartir. MOD: si el fichero ya existe, no se puede compartir, y se posiciona tras el ltimo registro existente en el fichero. Si el fichero no existe, equivale al estado NEW. Si no se codifica, se asume por defecto NEW. o Parmetro 2: estado del fichero cuando termina bien el paso. o Parmetro 3: estado del fichero cuando el paso finaliza de manera anormal (ABEND). DELETE: el fichero se borra, incluso del catlogo. KEEP: el fichero se guarda al terminar el paso. Sin embargo, no guarda informacin de fichero (UNIT, VOL...) para pasos posteriores, habra que volver a codificarlas al usar el fichero. CATLG: el fichero se guarda y se cataloga. UNCATLG: el fichero se guarda, pero se elimina del catlogo. PASS: el fichero se guarda al terminar el paso, pero se borra al terminar el Job. Guarda informacin del fichero para pasos posteriores. Slo es vlido para el Parmetro 2, ya que en caso de ABEND, se pierden todos los ficheros temporales. Si no se codifica, se asume KEEP. Si ya existe (OLD), y DELETE, si no existe (NEW). VOL: volumen en el que residir el nuevo fichero. UNIT: se utiliza para indica al sistema que site el fichero en un dispositivo especfico (disco, cinta). LABEL: especifica el tipo de etiqueta asociada con el fichero, el nmero relativo del fichero en la cinta y si el fichero tiene proteccin de entrada o de salida.

SPACE: permite solicitar espacio para un fichero nuevo en un volumen de acceso directo. Consta de los siguientes subparmetros:
o

Unidad en las que se mide el espacio (pistas (TRK), cilindros (CYL)).

Cantidad de espacio a asignar:

Extensin primaria: espacio que se reservar para el fichero en el momento de crearlo. Extensin secundaria: cantidad de espacio que se aade cada vez que el fichero se quede pequeo.

RLSE: indica que el espacio no utilizado en la creacin del fichero, se liberar al cerrarlo

SYSOUT: indica que el fichero lgico debe direccionarse a una clase de salida, en lugar de a un disco o a una cinta. COPIES: nmero de copias que se desea obtener de un listado. DEST: impresora fsica por la que se listar el informe a imprimir. OUTLIM: nmero mximo de lneas que se van a imprimir. RECFM: formato y bloqueo del registro. LRECL: longitud del registro. BLKSIZE: longitud del bloque.

La sentencia DD tiene algunos parmetros especiales:


JOBLIB: librera donde se encuentran los programas que se quieren ejecutar. STEPLIB: librera donde se encuentra el programa del paso que se quiere ejecutar. SYSABEND: realiza el volcado de memoria de usuario y de sistema en caso de abend del proceso. SYSUDUMP: realiza el volcado de memoria de usuario en caso de abend del proceso. SYSCHK: opcin para que el sistema escriba un fichero de checkpoints para posibles re arranques en la ejecucin de un programa

DFSORT: esta utilidad realiza varias funciones


Ordenacin de registros en un fichero Unin de dos o ms ficheros (un mximo de 16) de entrada en uno de salida. Se van incluyendo en el SORTINnn del ejemplo. Copia de ficheros sin ordenacin ni mezclar ficheros. Eliminacin de registros de un fichero. Reformateo de registros de un fichero. Acumular los valores de los registros.

Vamos a ver unos ejemplos (Ordenacin, Unin y Copia) para poder especificar cules son las sentencias control para la utilidad DFSORT.

Ordenacin: view sourceprint? 01 1 2 3 4 5 6 7 02 ----+----0----+----0----+----0----+----0----+----0----+----0----+----0-03 //PRUEBJOB JOB 04 //PROGRAMA EXEC PGM=SORT 05 //SYSOUT DD SYSOUT=* 06 //SYSIN DD * 07 SORT FIELDS=(1,5,CH,A,7,8,CH,D) 08 INCLUDE COND=(1,5,CH,EQ,'00001') 09 SUM FIELDS=(14,9,PD) 10 OUTREC FIELDS=(1,100) 11 //SORTIN DD DSN=TUTORIAL.PRUEBA.FICHERO1,DISP=SHR 12 //SORTOUT DD DSN=TUTORIAL.PRUEBA.FICHERO2,DISP=... 13 //SORTWKnn DD UNIT=SYSDA,SPACE=(CYL,(1,1),RLSE) SYSOUT: fichero de salida donde la utilidad SORT deja los mensajes de la ejecucin. SORTIN: fichero de entrada que se quiere ordenar hasta un total de 99 ficheros. SORTOUT: fichero de salida ya ordenado y reformateado. SORTWKnn: ficheros de trabajo que se utilizan para que el sistema tenga mejor rendimiento al realizar la ordenacin del fichero. SYSIN: codificacin de las sentencias de control: SORT FIELDS=(inicio, longitud, tipo, orden): Indica los campos por los que se quiere ordenar el fichero. Dichos campos se especifican mediante su posicin de inicio y su longitud, el orden puede ser Ascendente o Descendente, y el tipo de campo: CH (carcter); BI (binario); PD (empaquetado); ZD (decimal). INCLUDE COND=(inicio, longitud, tipo, operador comparacin, valor) Incluye nicamente los registros que cumplen la condicin especificada, en este caso que sean iguales a '00001'. Para poner varias condiciones, se utilizan los operadores lgicos (AND, OR) separados por comas. OMIT COND Se excluyen los registros que cumplen una condicin especificada. Tiene el mismo formato que la sentencia INCLUDE COND. SUM FIELDS=(posicin inicio campo, longitud, tipo) Permite sumar los valores del campo que comienza en la posicin indicada y que ocupa los bytes indicados. Slo se pueden sumar campos numricos, empaquetados o decimales. SUM FIELDS=NONE Se eliminan registros duplicados. OUTREC FIELDS=(posicin, longitud) Se utiliza para reformatear el registro de salida, en este caso le decimos que solo saque en el fichero de salida desde la posicin 1 ocupando 100. Reformatea los registros despus de ordenar. INREC FIELDS Reformatea los registros antes de ordenar. Tiene el mismo formato que la sentencia OUTREC FIELDS.

También podría gustarte