Programa en java memoria virtual con segmentación paginada
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 8,71 KB
Carácterísticas del Software: 1. Es intangible. 2. No se deteriora o destruye 3.El software se desarrolla. 4. De cada programa hay muchas copias, Si alguna tiene un fallo, este aparecerá en todas las copias.
El software de Sistemas está compuesto por aquellos programas y aplicaciones que no tienen propósito específico para el usuario y evita la complejidad de manejar directamente los componentes Hardware.
El software de Aplicación son los programas y aplicaciones que realizan tareas para los usuarios con un propósito específico: • Procesadores de texto.
El Sistema Operativo es un programa de sistema que facilita la comunicación a los usuarios de la computadora y sirve de plataforma a partir de la cual se pueden ejecutar los programas de aplicación. • El SO tiene las siguientes tareas principales: 1. Evita a usuarios y programas manipular directamente los componentes HW. 2. Proporcionar interfaz que facilite al usuario la comunicación con el ordenador. 3. Administrar los dispositivos de hardware en la computadora, sirviendo a los programas y usuarios de intermediario entre ellos y el hardware. 4. Administrar y mantener los sistemas de archivo del disco, agrupando la información en carpetas y proporciona los mecanismos necesarios para organizar y manipular estos archivos. 5. Gestiona eficientemente el procesador y la Memoria Principal. 6. Permite la administración de cuentas de usuario.
En procesos interactivos la proporción de tiempo que se emplea en realizar la entradas y salidas, es muy grande en comparación con el tiempo en que se emplea el procesador. Esto es debido a que la velocidad del procesador es muy grande. Este hecho es aprovechado por el S.O. Para gestionar eficientemente el uso del procesador.
Así, un ordenador con un solo procesador (monoprocesador), puede ejecutar simultáneamente varios procesos (multiproceso). • Y un monoprocesador puede ser multiusuario (varios usuarios con sus correspondientes procesos pueden estar ejecutándolos simultáneamente). • Existen también ordenadores multiprocesador (que tienen varios procesadores), como son los supercomputadores, que a su vez ejecutan varios procesos de forma simultánea en cada uno de ellos, pudiendo dar servicio a miles de usuarios de forma muy rápida.
Proceso:
El problema de compartir el tiempo de la CPU entre varios procesos, es que algún proceso la monopolice. Si un proceso ha cumplido su “quantum” y no hay ningún proceso en espera, continúa utilizando la CPU otro “quantum”. El S.O. Gestiona la ocupación de la memoria permitiendo así que todos los procesos puedan ejecutarse. Para ello utiliza los siguientes mecanismos no excluyentes: – Compactación de la memoria principal – Segmentación – Paginación.
La Compactación de Memoria se utiliza para gestionar mejor el espacio de la MP. El S.O. Reordena la MP. Segmentación y paginación si no se puede por compactación. Los mecanismos de segmentación y paginación utilizan Memoria Virtual. La segmentación consiste en dividir un programa en porciones lógicas (denominadas segmentos). Cuando una porción termina, deja el espacio y se mete otra. Después de realizar varios reemplazos, puede ser necesario volver a compactar la M.P. EL S.O. Simplemente gestiona el intercambio de segmentos en la MP. La paginación consiste en dividir la Memoria Principal en porciones de igual tamaño. Llevando páginas que en ese momento no tienen ninguna instrucción en ejecución a la Memoria virtual. El tamaño de las paginas , la división de los programas y el intercambio con la MV lo hace el SO. La segmentación era determinada por el programador. El principal problema de la paginación es que siempre se asignan páginas completas, de manera que las últimas páginas de cada programa, pueden no requerir todo el espacio. Supone realizar mayor número de intercambios con la MV, ralentizando el proceso. Para evitar las desventajas de ambos métodos y aprovechar sus ventajas se puede optar por la combinación de ambas técnicas (Segmentación Paginada)
Un lenguaje de programación es un conjunto de símbolos y reglas sintácticas y semánticas que, utilizado para escribir las instrucciones. El procesador sólo entiende instrucciones en código máquina, expresadas mediante una secuencia de ceros y unos. Expresar instrucciones que pueden realizar acciones complejas. Proceso de traducción. Los de bajo nivel se acercan al funcionamiento de una computadora. El código maqina se expresa por ceros y unos. Pueden cometerse muxos errores y es especifico de cada fabricante. El procesador sólo entiende instrucciones en código máquina, expresadas mediante una secuencia de ceros y unos. En los lenguajes ensambladores el código de operación es sustituido por un nemotécnico.Una instrucción en lenguaje ensamblador equivale a una instrucción en código máquina a excepción de las macros. Una macro es un conjunto de instrucciones a las que se hace referencia mediante una etiqueta. Para poder eer ejecutado debe traducirse a lenguaje maqina. Este lenguaje reduce la ilegibilidad del código maqina y la probabilidad de cometer errores al programas sigue siendo alta.
Los lenguajes de programación de alto nivel se caracterizan por expresar las instrucciones en un lenguaje más próximo al lenguaje Natural, aunmenta la legibilidad de los programas y disminuye los errores. No se trabaja directamnt con registros sino con variables y tienen una sintaxis y un léxico rígido y no tan versátil ni flexible como el lenguaje natural. El primer lenguaje de programación conocido es el lenguaje FORTRAN que representa formulas complejas. A partir de este se han desarrollado innumerables lenguajes. Para que se ejecute en un ordenador, tiene que pasar por un proceso de traducción a código máquina. A diferencia de los lenguajes de bajo nivel, la filosofía de los lenguajes de alto nivel (LAN), es que los programas escritos en ellos puedan utilizarse en cualquier ordenador sea cual sea el lenguaje máquina que utilicen. Cuentan con un traductor al código maqina. El programa puede utilizarse en todos ellos.
En los lan cada instrucción eqivale a un conjunto de instrucciones en código maqina y ademas no se ace uso de registros ni de direcciones de memoria sino de variables para representar los resultados. Todo proceso de traducción realiza las siguientes tareas: Análisis léxico, sintacticom semantik y traducción al código maqina. Dependiendo de la forma hay dos tipos de traductores: interpretes y compiladores.
Intérpretes
• Realizan los procesos de análisis y traducción instrucción a instrucción. • Tras la traducción ejecutan la instrucción correspondiente. • Cuando encuentran un error grave se detienen. • Tras la ejecución, no se guarda la versión traducida del programa. • Cuando vuelva a ejecutarse el programa pasa de nuevo por los procesos de análisis, traducción y ejecución.
Compiladores • Realizan primero los procesos de análisis. • Si hay errores muestra la lista de estos y detiene el proceso de traducción. • Si no hay errores traduce el programa de forma completa a código máquina, guardando una copia del resultado. • El compilador no ejecuta el programa sólo lo analiza y traduce. • Para ejecutarlo se utiliza el código máquina resultante. • Sólo es necesario traducirlo una vez, y después puede ejecutarse cuantas veces se quiera.
Intérprete Híbrido
• Su objetivo es poder ejecutarse en diferentes máquinas partiendo de un código “intermedio” que ha sido previamente compilado. De esta forma el programa compilado puede estar disponible en un ordenador determinado y terminar de interpretarse en otro ordenador con LM diferente . • Esta es la carácterística del lenguaje JAVA y de su aplicación a programas en Internet.
Comparación entre Compiladores e Intérpretes
• Inicialmente interpretes eran mas comunes, actualmente los compiladores son mas comunes. • El compilador sólo traduce una vez y el programa se puede ejecutar muchas veces, en cambio con el intérprete es necesario realizar la traducción cada vez que se ejecuta.• La ejecución de un programa traducido por el compilador es más rápida y requiere menos memoria.• La detección de errores y su diagnóstico es más precisa con un intérprete. • Los intérpretes permiten que los programas sean independientes de la máquina en la que se van a ejecutar.