290 likes | 402 Views
Instituto Politecnic0 Nacional. Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y Administrativas. Academias de Tecnología Informática. 5 . SISTEMAS OPERATIVOS 5.1 QUE ES EL SISTEMA OPERATIVO DE UNA COMPUTADORA 5.1.2 PRINCIPALES FUNCIONES Y USOS
E N D
Instituto Politecnic0 Nacional Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y Administrativas Academias de Tecnología Informática 5 . SISTEMAS OPERATIVOS 5.1 QUE ES EL SISTEMA OPERATIVO DE UNA COMPUTADORA 5.1.2 PRINCIPALES FUNCIONES Y USOS 5.1.3 TRADUCTORES DE LENGUAJES DE PROGRAMACION 5.2 CONTROL Y MANEJO DE INTERRUPCIONES 5.2.1 DENTRO DE UN COMPUTADOR 5.2.2 INTERRUPCIONES DE ENTRADA / SALIDA 5.2.3 INTERRUPCIONES DE PROGRAMA 5.2.4 INTERRUPCIONES EXTERNAS 5.3 METODO DE ACCESO 5.4 MULTIPROGRAMACION 5.5 TELEPROCESO M. En C. Ángel Gutiérrez González
5.1 El SISTEMA OPERATIVO DE UNA COMPUTADORA El Sistema Operativo es un conjunto rutinas, subrutinas y/o programas, que controlan la ejecución de programas de aplicación y actúa como una interfaz entre el usuario de la computadora
5.1.2. Principales funciones y usos. Un sistema operativo se puede analizar como si tuviera que llevar a cabo dos objetivos o dos funciones: CONVENIENCIA. Un sistema operativo hace a un sistema computacional mas conveniente para usarlo. EFICIENCIA. Un sistema operativo permite que los recursos del sistema computacional se utilicen de manera eficiente. El sistema operativo como una interfaz usuario-computadora. El hardware y software que se usan para proporcionar aplicaciones a un usuario pueden verse de una manera jerárquica o por capas.
El usuario de esas aplicaciones se llama el usuario final y, por lo general, no es de su incumbencia la arquitectura de la computadora. Por lo tanto, el usuario final ve un sistema computacional en términos de una aplicación. Esa aplicación puede expresarse en un lenguaje de programación y la desarrolla un programador de aplicaciones. Si uno fuera a desarrollar un programa de aplicación como un conjunto de instrucciones de máquina responsable por completo del control del hardware de la computadora, se enfrentaría con una tarea muy compleja. Con objeto de facilitar esta tarea, se proporciona un conjunto de programas de sistemas. Algunos de estos programas se denominan utilerías e implementan funciones usadas con frecuencia que ayudan en la creación del programa, la administración de archivos y el control de dispositivos de E/S.En resumen, el sistema operativo proporciona servicios, de manera típica, en las siguientes áreas:j Creación del programa. El sistema operativo proporciona diversas facilidades y servicios, como editores y depuradores, para ayudar al programador en la creación de programas. En general, estos servicios están en la forma de programas de utilerías que en realidad no son parte del sistema operativo pero son accesibles mediante el. j Ejecución del programa. Necesitan realizarse varias tareas para ejecutar un programa. Las instrucciones y datos deben cargarse en la memoria principal, los dispositivos de E/S y archivos deben inicializarse y otros recursos deben prepararse. El sistema operativo, entonces, maneja todas estas tareas por el usuario.jj Acceso a dispositivos de E/S. Cada dispositivo de E/S requiere su propio conjunto particular de instrucciones o señales de control, para la operación. El sistema operativo se encarga de los detalles, de manera que el programador pueda pensar en términos de lecturas y escrituras simples.j Acceso controlado a archivos. En el caso de archivos, el control debe incluir una comprensión de no solo la naturaleza del dispositivo de E/S (unidad de disco, unidad de cinta) sino también del formato de archivo en el medio de almacenamiento. De nuevo, el sistema operativo se encarga de los detalles.
jAcceso al sistema. En el caso de un sistema público o compartido, el sistema operativo controla el acceso a todo el sistema y a los recursos específicos del sistema. La función de acceso debe proporcionar protección de recursos y datos desde usuarios no autorizados y debe resolver conflictos en el caso de disputas por recursos.j Detección de errores y respuesta a ellos. Pueden ocurrir varios errores mientras corre un sistema computacional. Estos incluyen errores de hardware internos y externos y varios errores de software. En cada caso, el sistema operativo se ve precisado a emitir la respuesta que elimina la condición de error, con el menor impacto sobre las aplicaciones que corren.j Contabilidad. Un buen sistema operativo recopila estadísticas del uso de los diferentes recursos y monitoreo los parámetros de ejecución, como tiempo de respuesta. El sistema operativo como un administrador de recursos.Una computadora es un conjunto de recursos para el movimiento, almacenamiento y procesamiento de datos y para el control de estas funciones.El sistema operativo es responsable del manejo de estos recursos.¿Podemos decir que el sistema operativo es el que controla el movimiento, almacenamiento y procesamiento de datos? Desde un punto de vista, la respuesta es si: al administrar los recursos de la computadora, el sistema operativo controla sus funciones básicas. Pero ejerce este control de una manera curiosa. Por lo general, creemos que un mecanismo de control es algo externo a lo que se controla o, por lo menos, una parte distinta y separada de ese objeto de control. Este no es el caso con el sistema operativo el cual, como mecanismo de control, es singular en dos aspectos:j El sistema operativo funciona de la misma manera que el software de computadora ordinario; esto es, es un programa ejecutado por el procesador. j El sistema operativo con frecuencia abandona el control y debe depender del procesador para que permita recuperarlo.
El sistema operativo es, de hecho solo un programa computacional. como otros programas de computadora, proporciona instrucciones al procesador. La diferencia clave esta en el propósito del programa. El sistema operativo dirige al procesador en el uso de otros recursos del sistema y en la temporización de su ejecución de otros programas. Pero para que el procesador haga cualquiera de estas cosas, debe cesar de ejecutar el programa del sistema operativo y ejecutar otros programas. Por lo tanto, el sistema operativo abandona el control para que el procesador haga algún trabajo “útil” y después reanuda el control tiempo después para preparar al procesador con el fin de hacer la siguiente parte del trabajo.Dispositivos E-SEl sistema operativo decide cuándo puede utilizar un dispositivo de E/S un programa en ejecución y controla el acceso a, y el uso de archivos.
SECFUENCIAL POR LOTE INTERACTIVO Una tarea a la vez Multiprogramado Lote simple. Lote sofisticado. Sistema dedicado Tiempo compartido. Tipos de sistemas operativos. Ciertas características claves para diferenciar varios tipos de sistemas operativos. Las características caen en dos dimensiones independientes. La primera dimensión especifica ya sea que el sistema es por lote o interactivo. En un sistema interactivo, el usuario-programador interactúa de manera directa con la computadora para solicitar la ejecución de una tarea o realizar una transacción. Además, el usuario puede, dependiendo de la naturaleza de la aplicación, comunicarse con la computadora durante la ejecución de la tarea. Un sistema por lote el lo opuesto al interactivo. El programa del usuario se agrupa junto con los programas de otros usuarios y dejado a la decisión de un operador de computadora. Después que el programa se ha completado, los resultados se imprimen para el usuario. Los sistemas por lote puros son raros en la actualidad, sin embargo será útil la descripción de los sistemas operativos contemporáneos para examinar de forma breve los sistemas por lote. Una dimensión independiente especifica ya sea que el sistema emplee o no multiprogramación. Con la multiprogramación, lo que se intenta es mantener al procesador tan ocupado como sea posible al tenerlo trabajando en más de un programa a la vez. Varios programas se cargan en la memoria, y el procesador cambiará con rapidez entre ellos. La alternativa es un sistema de uniprogramación que opera solo con un programa a la vez. Basados en estas dos dimensiones, podemos describir cuatro tipos generales de sistemas operativos.
SISTEMAS OPERATIVOS MAS COMUNESUNIX, como la mayoría de los S.O. actuales es un sistema multiusuario y multitarea. Esto influye en la gestión de la protección del sistema que soluciona de la siguiente forma: Todas las operaciones de ENTRADA / SALIDA son realizadas por UNIX en el llamado modo supervisor, modo de ejecución en el que el S.O. toma control total del ordenador arrebatándoselo al programa de usuario. El usuario, sin embargo, tiene la impresión de ser él quien realiza la operación invocando una system call o llamada al sistema desde programa. La forma de una system call es la de una función C cualquiera y es la forma que tiene el usuario de interactuar con el sistema. UNIX tiene un absoluto control de la memoria, gestionando límites de zona para usuarios y para sí mismo y proporcionando llamadas para petición y liberación. Podría compararse con el modo protegido de un extender de DOS. Al ser un S.O. multiusuario y multitarea pero monoprocesador, debe realizar la gestión de la CPU asignándosela o arrebatándosela a los programas de usuario (sistema de tiempo compartido). Es importante entender que un S.O. como UNIX "está en todas partes" y "nada escapa a su control". De este modo, existe un modo dual de ejecución de programas: modo usuario en el que el programa de usuario tiene el control y modo supervisor o monitor en el que es una rutina del propio S.O. la que controla el ordenador.La entrada en modo supervisor o activación del S.O. se producirá por uno entre tres motivos: 1.-Una llamada al sistema 2.-Una interrupción (hardware o software) 3.-Un trapo interrupción especial hardware que generalmente aniquila el proceso que la provocó
LINUXEl sistema operativo Linux nació en el año 1991 a partir de una idea original del finlandés Linus Benedict Torvalds, un estudiante de la Universidad de Helsinki que por aquellos días contaba con tan solo 21 años. Linus necesitaba un sistema operativo que aprovechara bien las potencialidades de su PC con procesador Intel 386. Primeramente pensó en Unix, el sistema en esa fecha de mayor distribución y utilización en el mundo empresarial, pero era imposible con sus escasos recursos conseguir una versión del mismo pues los precios para adquirirlo eran muy elevados para su alcance. La segunda opción era Minix, original de Andrew Tanenbaum, todo un experto en Sistemas Operativos que creó a Minix basado en Unix y con fines fundamentalmente académicos. Pero Minix no satisfacía del todo las necesidades de Linus y por ello decidió finalmente hacer su propio sistema operativo al cual bautizaría con el nombre de Linux haciendo alusión a su nombre y tomando la ``x'' final de Unix.La primera versión del kernel de Linux, identificada como 0.01, fue programada completamente en ensamblador. Esta carecía de mucha utilidad pues sólo contenía los códigos básicos de un kernel rudimentario que dependía de Minix para su funcionamiento. Dos meses después, el día 5 de octubre de 1991, Linus hizo el primer anuncio oficial de su sistema operativo. A esta segunda versión la identificó como 0.02. Ya ofrecía la posibilidad de ejecutar gcc (el compilador de C de GNU (proyecto para la protección del software libre de la Free Software Foundation) además de bash (Bourne Again Shell de GNU también). De forma general el sistema operativo Linux presenta las siguientes características: Es un sistema operativo multitarea y multiusuario, similar a Unix en muchos aspectos pero completamente independiente de este. Surgió como respuesta a las necesidades personales de Linus Torvalds quien lo puso a disposición de todos para su utilización y perfeccionamiento. De ahí que su desarrollo actual se deba a la cooperación de miles de programadores en Internet que se han dedicado tanto al mejoramiento del kernel como al desarrollo y mantenimiento de numerosas aplicaciones conformando decenas de distribuciones.
Se distribuye bajo la licencia GPL de GNU, lo cual le ha permitido desarrollarse y distribuirse con rapidez, además de ser un sistema fácilmente ajustable a las necesidades personales de sus usuarios o administradores. Está portado para numerosas plataformas computacionales. Ejemplos: Intel, Macintosh, Alpha y SPARC. Se caracteriza por tener un código muy eficiente que lo convierte en un sistema robusto y estable con un futuro prometedor. Posee soporte para gran cantidad de hardware. Linux está especialmente orientado al trabajo en redes pues existen numerosas aplicaciones, nativas o portadas para él, que implementan casi todos los protocolos utilizados para la comunicación, tanto el lado cliente como el servidor. Ejemplo de ello son: FTP, HTTP, TCP/IP, PPP, UUCP, SMTP, SNMP, gopher, wais, news, IPX, SMB/CIFS, POP, IMAP, etc. Gracias a esto una máquina Linux puede proveer servicios de correo electrónico, resolución de nombres, news, Web, acceso remoto, compartir recursos a través de la red, etc. Las versiones actuales del kernel soportan numerosos sistemas de ficheros como FAT16/32, NTFS (sólo lectura) e iso9660 (para discos compactos). Posee un file system propio denominado ext2 y se desarrollan ext3 y reiserfs con mejoras considerables. Ofrece numerosas posibilidades para la programación en diversos lenguajes, tanto interpretados como compilados. Ejemplo de ello son: C, C++, Java, Pascal, SmallTalk, FORTRAN, LISP, Perl, Tcl/Tk y Python. También en Linux se dispone de varios shells como bash, csh, ksh y otros. Todos permiten, además de una interacción más o menos amigable con el sistema, la programación de shells scripts.Sobre Linux se implementan diversos ambientes conocidos como interfaces X que son interfaces gráficas cuya funcionalidad y belleza pueden compararse con las de cualquier sistema comercial. Existe una implementación completa del servidor X Windows de Unix portada para Linux conocida como XFree86. Entre los ambientes gráficos se destacan KDE, GNOME y WindowMaker. El sistema operativo en sí es completamente independiente de estas aplicaciones para funcionar correctamente.
. Las máquinas Linux se pueden interconectar y relacionar fácilmente con otras con sistemas operativos diferentes como OS/2, Apple Machintosh, Windows 9x y NT. En una misma computadora se puede instalar Linux junto a otros sistemas operativos y ejecutarlos luego, indistintamente. No requiere necesariamente de grandes recursos de hardware. Sin interfaz gráfica puede ejecutarse correctamente en máquinas con 16 MB de RAM o menos contando además con espacio Swap en el disco duro. Los requerimientos de espacio en disco pueden hacerse despreciables pues se han logrado micro-distribuciones que caben en un disquete.Existen actualmente herramientas que permiten la ejecución de aplicaciones MS-DOS (DOSEMU) y Windows sobre Linux (WINE). También existe una poderosa herramienta conocida como VMWARE que provee la facilidad de tener varias máquinas virtuales con distintos sistemas operativos ejecutándose a la vez en una misma computadora. Vale aclarar que este último es un producto comercial, por lo que para utilizarlo por tiempo indefinido hay que pagar una licencia OS/2OS/2 es un sistema operativo multitarea para PCS creado la década pasada, pero que no ha perdido su vigencia, bastante usado por empresas en aplicaciones críticas, servidores, comunicaciones (el año pasado se calculaba que mas del 90% de los cajeros automáticos del mundo usaban como sistema operativo a OS/2) y por usuarios particulares. Desde que lo empecé a usar en 1995, ha sido para mi el sistema donde mas trabajo y que mas satisfacciones y agradables sorpresas me ha dado.Entre otras cosas, provee: Estable - Su estabilidad sólo es comparable con la de Unix, y puede correr decenas de programas de forma simultanea sin degradar su performance ni su disponibilidad de memoria. Multitarea y Multithreading - La posibilidad de ejecutar varios "hilos" dentro de una misma aplicación. Esto permite una multitarea mucho mas eficiente y un mejor desempeño de los programas diseñados para el. Ejecución de programas DOS y Windows - "Mejor Windows que Windows" fue una frase que IBM usó mucho hace unos años para describirlo.
Dada la mejor multitarea, mejor manejo de memoria y dispositivos en general, y de disponer la posibilidad de correr aplicaciones en máquinas virtuales separadas, los programas DOS y para Windows hasta 3.x corren mejor bajo OS/2 que en el ambiente para el cual fueron diseñados. Lenguaje de batch REXX - Este lenguaje de scripting, con una gran cantidad de características de los lenguajes de alto nivel, provee de un ambiente muy claro y a la vez poderoso que puede ser utilizado tanto para automatizar tareas simples como para realizar complejas aplicaciones. Sistema de archivos HPFS - Si bien maneja y funciona bien con el sistema de archivos FAT, y dispone drivers para trabajar con FAT32, NTFS, y ext2, su sistema de archivos nativo HPFS es el mejor para su desempeño, permitiendo nombres largos y atributos extendidos, bajo slack space (los clusters son de 512 bytes) y fragmentación (casi nula en ambientes normales), y alta velocidad en acceso a los archivos. WorkPlace Shell - En mi opinión, el mejor desktop para computadoras personales (y no tanto) que existe hasta la fecha. Muy intuitivo, orientado a objetos, extensible y muy consistente, muy integrado con el sistema operativo y especialmente potenciable vía rexx o programas de usuario. Aún no he encontrado algo que se le compare ni para Machintosh, Windows 95/NT, o XWindows que se le acerque. . Compatibilidad con otras plataformas - Aparte de la ya nombrada capacidad de correr de forma inmejorable aplicaciones para DOS y Windows 3.x, dispone de una serie de herramientas para ejecutar o portar aplicaciones desde otros sistemas operativos y plataformas. Con las librerías EMX es relativamente fácil portar aplicaciones desde Unix, teniendo desde hace ya años Apache, XFree86 con muchas de sus aplicaciones, la mayoría de las aplicaciones GNU, y mucho mas. IBM provee las bibliotecas Open32, que permiten portar aplicaciones de Windows 95/NT a OS/2, siendo Lotus SmartSuite una de las aplicaciones que usa esta tecnología. También un grupo de voluntarios están involucrados en el proyecto Win32OS2, que apunta a hacer conversores de ejecutables para que los programas para Win32 funcionen de forma nativa en OS/2. También OS/2 es una muy buena plataforma para correr aplicaciones Java de forma segura y estable. Y si esto no fuera suficiente, hay emuladores de Machintosh, maquinas arcade, y hasta Palm Pilot para OS/2 donde correr programas para estas arquitecturas.
MS-DOS UNIX QUE HACE CLS DATE y TIME CAL WHO DIR MD KILL COPY clear date cal who pwd mkdir rd cp mv cat Limpian la pantalla Da la fecha y hora Da el calendario Muestra quien esta conectado en S.O. Muestra el directorio en donde estamos. Crea un directorio. Borra un directorio. Copia un directorio. Mueve un directorio. Contenido de un archivo. Seguridad en Internet - Si bien es un sistema monousuario, se comporta muy bien siendo un servidor Internet, y es mucho menos vulnerables a ataques del exterior como lo son de forma genérica los sistemas operativos Unix y WindowsNT. CUADRO COMPARATIVO DE DOMANDOS ENTRE UNIX Y MS-DOS
Una de la diferencia mas significativa entre los comandos de MS-DOS y UNIX es que en UNIX se escriben en minúscula y en MS-DOS no hay ningún problema si se escribe con mayúsculas o minúsculas. Otro aspecto es la sintaxis.Bueno tratando otro tema que fue el de la practica de UNIX en donde me di cuenta que me falta mucha preparación ya que la primera vez que entramos al laboratorio no me fue nada fácil comenzar a utilizar UNIX aunque pues no tuvimos mucha practica me sirvió para percatarme de que necesito prepararme mas y que existen otras cosas además de las que ya he visto por que también me di cuenta que no las conozco muy bien.5.1.3 Traductores de lenguajes de programación.Los traductores son un tipo de programas cuya función es convertir el código de un lenguaje en otro. Por ejemplo un compilador, que traduce código fuente en código objeto. Existen distintos tipos de traductores, entre ellos destacan:EnsambladoresEs un tipo de traductor que convierte programas escritos en lenguaje ensamblador en programas escritos en código máquina. PreprocesadoresTraduce un lenguaje de alto nivel a otro, cuando el primero no puede pasar a lenguaje máquina directamente. IntérpretesSe trata de traductores-ejecutores ya que con cada instrucción realizan un proceso triple de lectura-traducción-ejecución. Son relativamente lentos, pero muy buenos para la depuración de programas. CompiladoresEs el tipo de traductor más conocido. Se trata de un programa que traduce código fuente escrito en un lenguaje de alto nivel (Pascal) en código máquina (no siempre). Son más rápidos que los intérpretes pero presentan mayor dificultad a la hora de detectar errores.
5.2 Control y manejo de interrupciones.5.2.1 Dentro de un computador. En algún momento, un proceso que corre se interrumpe y el sistema operativo asigna a otro proceso el estado Corriendo y le entrega el control.El procesamiento de interrupciones dentro de la CPU es una facilidad provista para soportar el sistema operativo. Permite que un programa de aplicación sea suspendido, a fin de que una variedad de condiciones de interrupción puedan ser atendidas, y reanudado más tarde. Las interrupciones se proporcionan, sobre todo, como una forma de mejorar la eficiencia del procesamiento.PROCESAMIENTO DE INTERRUPCIONES.La ocurrencia de una interrupción origina varios eventos, en el hardware y en el software del procesador.Cuando un dispositivo de E/S completa una operación de E/S, ocurre la siguiente secuencia de eventos:El dispositivo emite una señal de interrupción al procesador.El procesador finaliza la ejecución de la interrupciónEl procesador verifica una interrupción, determina que existe una y envía una señal de reconocimiento al dispositivo que emitió la interrupción.Ahora el procesador necesita prepararse para transferir el control a la rutina de interrupción. Para empezar, necesita guardar la información necesaria para reanudar el programa en curso en el punto de interrupción. ahora el procesador carga el contador del programa con la posición de la entrada del programa para el manejo de la interrupción que responderá a ella. Dependiendo de la arquitectura del computador y del diseño del sistema operativo, puede haber un programa único, uno para cada tipo de interrupción o uno para cada dispositivo y cada tipo de interrupción.Si existe mas de una rutina para manejo de la interrupción, el procesador debe determinar cuál solicitar. Esta información pudo incluirse en la señal de interrupción original o el procesador puede tener que solicitarla al dispositivo que emitió la interrupción, para obtener una respuesta que contenga la información necesaria.
En este punto , el contador del programa y al PSW que relaciona el programa interrumpido se ha guardado en el Stack del sistema. No obstante, otra información se considera parte del “estado” del programa de ejecución.En particular, los contenidos de los registros del procesador necesitan guardarse, porque estos registros pueden ser usados por el manejador de la interrupción.El manejador de interrupción ahora puede continuar procesando la interrupción. Esto incluirá un examen de la información de estado relacionada con la operación de E/S u otro evento que causó una interrupción. También puede significar el envió de comandos o reconocimientos adicionales al dispositivo de E/S.Cuando el procesamiento de la interrupción esta completo, los valores de los registros guardados se recuperan del stack y se almacenan otra vez en los registros.El acto final es restaurar la PSW y los valores del contador del programa del stack. Como resultado, la siguiente instrucción por ejecutar será del programa interrumpido antes.Es importante guardar toda la información de estado del programa interrumpido, para reanudación posterior, porque el manejador de interrupción no es una rutina llamada desde el programa.5.2.2 Interrupciones de E/S.Generadas por un controlador de E/S, para señalizar la terminación normal de una operación o para señalizar diferentes condiciones de error.El sistema operativo determina, de manera exacta, que acción de E/S ha ocurrido. Si la acción de E/S constituye un evento que esperan uno o mas procesos, entonces el sistema operativo mueve todos los procesos correspondientes bloqueados al estado Listo (y bloqueado, suspende procesos al estado Listo, suspendido). Después, el sistema operativo debe decidir si reanuda la ejecución del proceso que en ese momento se encuentra en el estado Corriendo o le da preferencia a un proceso Listo de mas alta prioridad.
5.2.3 Interrupciones de programa. Generadas por alguna condición que ocurre como resultado de una ejecución de instrucción, como sobré flujo aritmético, división por cero, intento de ejecutar una instrucción de máquina ilegal y espacio de memoria permitido por el usuario para una referencia externa. 5.2.4 Interrupciones externas. Interrupciones de temporizador Generadas por un temporizador dentro del procesador, esto permite al sistema operativo ejecutar ciertas funciones sobre una base regular. Interrupciones de falla de hardware Generadas por una falla, como falta de energía o error de paridad de memoria. Interrupción deshabilitada Sólo significa que el procesador puede e ignorara esa señal de solicitud de interrupción. Si ocurre una interrupción durante este lapso, por lo general permanece pendiente y la verificara el procesador después que el procesador haya habilitado las interrupciones. Interrupción de reloj El sistema operativo determina si el proceso que corre en ese momento se ha ejecutado durante el máximo lapso de tiempo disponible. Si es así, este proceso debe cambiarse a estado Listo y debe despacharse otro proceso.
Información de direccionamiento almacenada se utiliza para separar los registros y auxiliar en el proceso de recuperación. Se utiliza un mecanismo compartido de lectura-escritura, y este debe ser movido de su posición actual a la posición deseada, pasando y desechando cada registro intermedio. De este modo, el tiempo para accesar un registro arbitrario es altamente variable.Acceso directo. Al igual que en el acceso secuencial, el acceso directo implica un mecanismo compartido de lectura-escritura. Sin embargo, los bloques o registros individuales tiene una dirección única que se basa en la localización física. El acceso se completa mediante el acceso directo para alcanzar una proximidad general mas una búsqueda secuencial, contador o espera secuencial para alcanzar la localidad final. De nuevo, el tiempo de acceso en variable.Acceso aleatorio. Cada localidad direccionable en al memoria tiene un mecanismo único de direccionamiento, ínter alambrado físicamente. El tiempo para accesar una localidad dada es independiente de la secuencia de accesos anteriores y es constante. Así, cualquier localidad puede ser seleccionada de manera aleatoria y acosarse y diseccionarse en forma directa.Los sistemas de memoria principal son de acceso aleatorio.Asociativa. Este es un tipo de memoria de acceso aleatorio que habilita a otra para hacer una comparación de las localidades de bit deseadas dentro de una palabra para un apareamiento especificado, y a fin de hacer esto para todas las palabras en forma simultánea. Así, una palabra se recupera con base en una parte de su contenido mas que en su dirección. Al igual que con la memoria ordinaria de acceso aleatorio, cada posición tiene su propio mecanismo de direccionamiento, y un tiempo de recuperación que es constante independientemente de su posición o de sus patrones de acceso.
5.4 Multiprogramación.En un sistema con multiprogramación el procesador ejecuta cada programa durante un periodo de tiempo simultáneamente muy corto, para luego conmutar al siguiente programa; si somos estrictos en el concepto de multiprogramación a este nivel y para computadoras con un solo procesador, en cada instante solo existirá un programa en ejecución, pero en un periodo de tiempo relativamente corto se pueden haber ejecutado varios programas, dando al usuario la sensación de paralelismo.Ventajas de la multiprogramaciónEl objetivo de la multiprogramación es que en todo momento se ejecute un proceso para maximizar la utilidad del procesador. En un sistema monoprocesador nunca habrá más de un proceso en ejecución en cada instante. Si hay más procesos en el sistema, tendrán que esperar a que el procesador se encuentre libre. Los beneficios de la multiprogramación son un aumento de la utilización del procesador y una mayor productividad.La clave de la multiprogramación está en la planificación. De hecho, son cuatro las clases de planificación que pueden entrar en juego normalmente:Planificación a largo plazo: Decisión de añadir procesos a la reserva de procesos a ejecutar. Planificación a medio plazo: Decisión de añadir procesos al conjunto de procesos que se encuentran parcial o completamente en memoria. Planificación a corto plazo: Decisión sobre qué proceso disponible será ejecutado en el procesador. Planificación de E/S: Decisión sobre qué solicitud de E/S pendiente será tratada por un dispositivo de E/S disponible.
Multiprogramación con Particiones Fijas Bajo este esquema de administración la memoria es dividida en n partes, en donde cada una de esas partes pueden ser de tamaños distintos, cada proceso es asignado a una de estas particiones cuando entra en ejecución. Existen dos esquemas mediante los cuales se pueden asignar los procesos a una partición. Un esquema consiste en que cada partición tiene una cola de procesos asociados que desean ser cargados en esa partición o bien existe una sola cola en donde se va asignando una partición a cada proceso desde el comienzo de la cola. En el primer caso se pueden producir sobrecarga en alguna e las particiones, es decir, se puede formar una cola de espera con muchos procesos y otra partición puede tener una cola de espera vacía; este problema se soluciona con el segundo esquema mencionado.
Este esquema de administración contempla la protección de las particiones, que permita proteger cada de las particiones de las particiones adyacentes, esto significa que cada proceso de usuario debe estar confiado que no se verá perturbado por otro proceso. En este caso, los sistemas multiprogramados la protección es apoyada por el hardware, mediante dos registros un registro base y un registro límite. El registro base indica la dirección de inicio de la partición y el registro límite indica el tamaño de la partición. A continuación se muestra de que manera actúan estos registros.
Con este tipo de administración se presenta un problema denominado fragmentación interna, el cual consiste en que si el proceso que ocupa la partición no la utiliza en un 100% entonces se produce pérdida de memoria, es decir memoria que no puede ser utiliza por otro proceso. Multiprogramación con Particiones VariablesEste tipo de administración de memoria consiste en que la memoria se divide en un conjunto de particiones que se caracterizan porque su tamaño es variable y se crean dinámicamente en el transcurso de la ejecución de los distintos procesos en el sistema. Este tipo de administración, a diferencia del de particiones fijas se efectúa con intercambio, es decir, que un proceso que esta en memoria puede ser traspasado a disco en forma temporal para darle la posibilidad a otro proceso que se ejecute. Al igual que la administración con particiones fijas este tipo de administración considera el almacenamiento del proceso completo en memoria para que éste pueda se ejecutado, Otro aspecto importante de señalar en este tipo de administración es que también existe fragmentación, esta ocurre en el continuo ingreso y salida de procesos a memoria, este fenómeno genera que se produzcan huecos en la memoria que no son suficientes para contener a los procesos que requieren ejecutarse. A este tipo de fragmentación se le conoce con el nombre de fragmentación externa. La pérdida de memoria, producto de la fragmentación externa, se puede recuperar realizando la compactación, es decir, reagrupando las porciones de memoria hacia un lado y las porciones de memoria libre hacia el otro extremo. Sin embargo, esta técnica no se practica pues es un proceso demasiado lento.La asignación de memoria a los distintos procesos que la requieren se puede asignar de acuerdo a los siguientes criterios, dichos criterios surgen de la necesidad de que el sistema tenga conocimiento de las particiones de memoria que se encuentran ocupadas y libres. Las particiones que tiene libres deben ser otorgadas a los procesos de la manera que el sistema considere mas eficiente. Dentro de los criterios mas conocidos de asignación de memoria se encuentran los siguientes:
Asignación del primer ajuste Asignación del mejor ajuste Asignación del peor ajuste Asignación del primer ajusteEste criterio considera que es mejor asignar al proceso la primera partición de memoria que encuentra libre en el sistema. Asignación del mejor ajusteEste criterio considera en otorgar al proceso aquella partición que mejor se ajuste al proceso, es decir la que mejor le calce. Asignación del peor ajusteEste criterio considera que es mejor otorgar aquella partición más grande que pueda contener al proceso, el argumento que fundamenta este criterio es que lo que sobre de esta partición puede ser utilizada para asignársela a otro proceso. 5.5. Teleproceso.Es el procesamiento de datos usando las telecomunicaciones (transmisión de señales a grandes o pequeñas distancias ).- El teleproceso puede ejecutarse de dos maneras diferentes: · ON LINE .- Un servidor controla la transmisión y se procesa los datos inmediatamente después de haber sido recibidas.· OFF LINE.-Cuando la transmisión de datos es recibida por un dispositivo externo para posteriormente ser procesada.
Proceso Distribuido y Centralizado.Distribuido.- Este se da cuando varios equipos (servidores) ejecutan varias tareas, su pro el procesamiento rápido y su contra la falta de seguridad y el incremento de costos.Centralizado.- Este se da cuando un solo equipo (servidor) ejecuta varias tareas, sus pro mayor seguridad y la reducción de costos y su contra el procesamiento lento. Sistemas de Comunicación de Datos. Comunicación de Datos.- es el desplazamiento de información de un lugar a otro utilizando para ello un medio de transmisión.Elemento de un Sistema de Comunicación de Datos.· FUENTE.- La fuente es el dispositivo que obtiene datos y los envía codificados al destino.· CANAL DE COMUNICACIÓN.- El canal es el medio por el cual se transfieren los datos.· DESTINO.- El destino es el dispositivo que recibe los datos codificados y los interpreta.Transmisión de DatosAntes del desarrollo de este tema es necesario recordar que los computadores trabajan con un sistema digital en donde la presencia o ausencia de señal eléctrica pueden representar un 1 o un 0 respectivamente.Transmisión Paralela / Serial.- Para realizar una transmisión de datos se necesita convertir la transmisión paralela en serial y para la recepción de datos se necesita convertir la transmisión serial en paralela.Esto, porque los datos dentro del computador son almacenados y procesados en forma de bytes (8 bits) mediante buses de datos (8 o mas canales) y estos datos para ser transmitidos al exterior de un computador necesitarían al menos de 8 cables lo cual no es posible ya que los canales de comunicación externos como la línea telefónica utilizan un solo canal por lo que se debe hacer bit * bit en forma simultanea (transmisión serial).Esta conversión la realiza el adaptador de comunicaciones de un computador, el cual también ajusta la velocidad del procesador con la velocidad baja del equipo de comunicaciones.
+ Amplitud = 1 - Amplitud = 0 Transmisión Analógica y Digital.- Al transmitir datos también se requiere de una conversión digital / analógica y al recibir datos de una conversión analógica / digital.Esto, porque al establecer la comunicación entre CPUs distantes mediante una línea telefónica, existe el problema de que esta hace uso de señales analógicas y los CPUs utilizan señales digitales, por lo que es necesario la utilización de un MODEM (modulador / dé modulador). Tasa Bit y Tasa Baudio. Para establecer una diferencia entre estos dos términos se debe recordar que un bit es una unidad de información mientras que un baudio es una unidad de velocidad de transmisión de señales.· TASA BIT.- Se puede definir como el numero de bits que se envía por segundo.º TASA BAUDIO .- Se puede expresar como la cantidad de señales que se transmiten por segundoModulación en la Transmisión de SeñalesModulación.- Es la modificación de la frecuencia o la amplitud de las ondas eléctricas para la transmisión de señales y por ende de datos. Por lo que existe tres tipos de modulación:· MODULACIÓN EN AMPLITUD.- La amplitud se refiere a la fuerza de la señal, así la modulación en amplitud es el cambio de la fuerza de la señal.
+ Frecuencia = 1 -Frecuencia = 0 · MODULACIÓN EN FRECUENCIA.- La frecuencia se refiere a la oscilación de la señal, así la modulación en frecuencia es el cambio de la oscilación de la señal. · MODULACIÓN EN FASE.- la modulación en fase se puede realizar de diferentes maneras: PSK (Phase Shift Keying) (Manipulación por Cambio de Fase).- Cada vez que hay un cambio de estado (0 o 1) ocurre un cambio de 180 °.- Se realiza en dos fases (0° y 180°) podemos obtener hasta 2 señales. DPSK (Differential Phase Shift Keying) (Manipulación por Cambio de Fase Diferenciada).- Ocurre un cambio de fase cada vez que se transmite un 1, caso contrario la fase permanece constante.- Se realiza en dos fases (0° y 180°)podemos obtener hasta dos señales. QPSK (Quadrature Phase Shift Keying) Manipulación por Cambio de Fase en Cuadratura).- Implica la división de la señal en 4 fases de manera que una sola frecuencia puede tomar cualquiera de los cuatro valores de cambio de fase (90°, 180°, 270°, 360°).- Se obtiene hasta 4 señales y por cada una representaríamos 2 bits de información.
00 000 => => 90° 0° 01 001 => => 180° 45° 10 010 => => 270° 90° 011 11 => => 360° 135° 100 => 180° 101 => 225° 110 => 270° 111 => 315° QAM (Quadrature Amplitud Modulation) (Modulación por Amplitud en Cuadratura).- Implica la división de la señal en 4 fases diferentes (0°, 45°, 90°, 135°, 180°, 225°, 270°, 315°) podemos obtener hasta 8 señales y por cada una representaríamos 3 bits de información.