Publicidad

sábado, 13 de septiembre de 2008

funcionamiento de un sistema operativo e interfaz gráfica

Sistema Operativo

Las principales actividades que realiza un Sistema Operativo en una computadora son:

1.- La comunicación con los periféricos.
2.- La coordinación del procesamiento de trabajos concurrentes.
3.- La administración de la memoria.
4.- Supervisión, contabilidad y seguridad de recursos .
5.- Administración de programas y datos.

El proceso de arranque (boot) en una computadora personal es el proceso mediante el cuál se prepara el sistema de la computadora para efectuar una o varias instrucciones; el boot arranca un Sistema Operativo.

Al encender la computadora, el sistema Operativo hace la lectura de inicio de la aplicación que se va a correr; verifica los drives en el orden que el usuario le indica al instalarlo, Revisa si no hubo errores al apagar el equipo y avisa al usuario cuando existe algún problema.
Si al revisar los drives, encuentra un disco o diskette de "boot", corre dicha aplicación para instalarla.

El sistema Operativo es un programa que se instala en la computadora para obtener un formato prediseñado de las operaciones que se quieren ejecutar. Esta cargado en la memoria principal de la computadora, y se inicia automaticamente al encender la maquina (una vez que esta instalado).

La interfase con el usuario, es la barrera que exsiste entre el usuario y la computadora que "traduce" el lenguaje del usuario al de la computadora y viseversa. Las aplicaciones, la utileria, los lenguajes de programación y el sistema operativo tienen que comunicarse con el usuario en grados distintos. La interfaz de un programa con el usuario es un actor crítico en esta comunicación.

Las interfaces han evolucionado hasta llegar al punto en que los paquetes mas complejos de software pueden ser utilizados por cualquier persona que no sepa de computadoras.
La interfaz es la forma en que la maquina te explica de forma “didáctica” las opciones que tienes para trabajar o hacer en ella. Te explica lo que esta sucediendo dentro de ella, con el fin de tener informado al usuario de lo que va a suceder o lo que podría suceder.

Los diferentes tipos de interfase que puede ofrecer un programa al ejecutarse han evolucionado desde las interfaces de línea de ordenes, hasta las interfaces gráficas y la que esta basada en caracteres. Tambien existen las llamadas interfaces dirigidas por menus y de interprete de comandos.

La interfase de intérprete de linea de ordenes, se utiliza cuando es necesario establecer comunicacion directa (un dialogo) con el sistema operativo. Con ella, el ususario teclea ordenes y el computador responde a ellas.

Elementos de una interfase gráfica

Los avances tecnologicos han hecho posible que todos los computadores cuenten con pantallas graficas, aun siendo de bajo costo. Estas pueden controlar por separado cada punto de la pantalla y el sistema operativo vigila las ordenes del usuario por medio de los movimientos del raton.
Una ventana es el area con recuadro en la pantalla del computador que puede abrirse, cerrarse y moverse con el dispositivo apuntador.

Los menús permiten al usuario seleccionar de una lista que proviene del titulo de dicho menu.
Los botones son puntos "vivos" en la pantalla que responden a clicks del raton generalmente presentando una pantalla diferente.

Existen dos tipos de Barras> las de herramientas, que se encuentran en algunas aplicaciones y que contienen ciertos botones que se pueden utilizar como "caminos cortos" para efectuar las ordenes mas comunes.

Las barras de menus, se encuentran en la parte superior de la pantalla o ventana que contiene menus descendentes.

El scroll es una columna dlgad que aparece en la parte inferior o derecha de las ventanas en las que no se logra visualizar completamente las imagenes y permiten al usuario mover la parte de la pantalla que si se puede observar para ver lo demas.

El ratón es el dispositivo manual que le indica al sistema operativo el lugar en la pantalla en el que se encuentra el cursor. En una interfase gráfica, esto le indicaria al S.O. que boton, ventana, menu, barra o scroll quiere utilizar el usuario.

Drag significa "arrastrar", esto se utiliza para mover de lugar las figuras de utilidades diferentes; ya sean ventanas iconos, archivos(para cambiarlos de folder) e incluso para arrastrar "short cuts" al escritorio principal. Click, es literalmente el sonido que hace el boton del mouse al presionarlo. Cuando la indicacion es "darle un click" (o dos) se refiere a colocar el cursor en el luar de la pantalla donde se va a trabajar y presionar una o dos veces el boton del dispositivo.

viernes, 12 de septiembre de 2008

Cmpiladores vs intérpretes

Hola compañeros, lo que subo es sobre compiladores e interpretes, en clase vimos acracteristicas pero creo que es importante reflezionar entre las ventajas de cada uno sobre el otro y sus desventajas, ojalá les sea de utilidad y lo más importante, que thagan sus conclusiones.


Compilador, que analiza el programa fuente y lo traduce a otro equivalente escrito en otro lenguaje (por ejemplo, en el lenguaje de la máquina). Su acción equivale a la de un traductor humano, que toma un libro y produce otro equivalente escrito en otra lengua.
Intérprete, que analiza el programa fuente y lo ejecuta directamente, sin generar ningún código equivalente. Su acción equivale a la de un intérprete humano, que traduce las frases que oye sobre la marcha, sin producir ningún escrito permanente. Intérpretes y compiladores tienen diversas ventajas e inconvenientes que los hacen complementarios:
Un intérprete facilita la búsqueda de errores, pues la ejecución de un programa puede interrumpirse en cualquier momento para estudiar el entorno (valores de las variables, etc.). Además, el programa puede modificarse sobre la marcha, sin necesidad de volver a comenzar la ejecución.
Un compilador suele generar programas más rápidos y eficientes, ya que el análisis del lenguaje fuente se hace una sola vez, durante la generación del programa equivalente. En cambio, un intérprete se ve obligado generalmente a analizar cada instrucción tantas veces como se ejecute (incluso miles o millones de veces).
Un intérprete permite utilizar funciones y operadores más potentes, como por ejemplo ejecutar código contenido en una variable en forma de cadenas de caracteres. Usualmente, este tipo de instrucciones es imposible de tratar por medio de compiladores. Los lenguajes que incluyen este tipo de operadores y que, por tanto, exigen un intérprete, se llaman interpretativos. Los lenguajes compilativos, que permiten el uso de un compilador, prescinden de este tipo de operadores.

Máquina Virtual de Java (JVM)

Máquina Virtual de Java (JVM)

Una máquina física tiene su sistema operativo, lo que arranca código de máquina, y un procesador, lo que ejecuta el código. Para programas escritos en lenguages interpretados (in vez de compilados), un intérprete tambien es preciso, para convertir el código del fuente en instrucciones mientras el programa está ejecutando.

Una máquina virtual es un programa que desempeña estes pasos en el tiempo de ejecución con respecto a algo que se llama código de byte, en vez de operar directamente en el código máquina. Esta máquina convierte el código de byte en instrucciones especificas para la máquina física, por medio ó de un intérprete ó de un compilador “just in time”, lo que hace la compilación desde el código de byte hasta el código de máquina (física) en el tiempo de correr el programa.

El código de byte utilizado por Java es un byte stream (flujo de octetos) que contiene ó instancias de clases (tipos) primativas de Java (como int, float, etc.) ó op codes (códigos de operación) para manipular estas instancias de clases primativas.

Como un lenguaje orientado a objetos, Java habilita la construcción de objetos de clases compuestas de instancias de clases primativas, juntos con las operaciones usadas para manipular estes objetos. Un objeto de una clase compuesta puede tener instancias de clases primativas ó de otras clases compuestas, junto con los métodos usados para manipular estes objetos. (Los últimos, en su turno, son construidos de métodos para manipular las instancias de clases primativas.) Estes objetos de clases compuestas son, entonces, definidas últimamente, y compuestas por, instancias de clases primativas y las operaciones para manipularlas.

Porque las clases compuestas son compuestas usando tipos primativos y los métodos para manipular objetos construidos de ellos, es precisa una manera de interpretar el código byte en termas de los objetos de clases compuestas. O sea, los tipos primativos y sus operadores, contenidos en el código byte, deben ser interpretados para ejecutar en tal manera que las operaciones para estes tipos primativos sirven, en efecto, para manipular los objetos de clases compuestas, usando los métodos de estas clases. Esto es la función de la parte de la JVM que se llama un class loader (arrancador de clases). El arrancador de clases arranca las definiciones de clases compuestas conforme que sea necesário, junto con el código de byte preciso para implementar instancias de estas clases.

caricatura


espero les guste

DIFERENCIA ENTRE COMPILADOR E INTERPRETE

HOLA COMPAÑEROS PUES YO RETOME EL TEMA QUE SE ESTA VIENDO EN CLASE QUE ES UN COMPILADOR Y SU FUNCIÓN AL IGUAL QUE EL DE UN INTERPRETE.
Compilador:
Es un programa que traduce los programas escritos en lenguajes de alto nivel a lenguaje máquina.El compilador traduce sentencia a sentencia el programa fuente. Un compilador acepta programas escritos en un lenguaje de alto nivel y los traduce a otro lenguaje, generando un programa equivalente independiente, que puede ejecutarse tantas veces como se quiera.
Un intérprete:
Es un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta. Los programas interpretados suelen ser más lentos que los compilados, pero los intérpretes son más flexibles como entornos de programación y depuración.

un poco de la relacion entre numero mágico y a.out

Las pruebas de números mágicos se emplean para comprobar ficheros con datos dispuestos en formatos fijos particulares. El ejemplo de esto es un fichero ejecutable binario (programa compilado) a.out, cuyo formato se describe en a.out.h y posiblemente en exec.h en el directorio normal de ficheros de cabecera. Estos ficheros tienen un‘número mágico’ guardado en una posición particular cerca del principio del fichero, que le dice al sistema operativo UNIX que el fichero es un binario ejecutable, y de qué tipo de entre unos cuantos. El concepto de ‘número mágico’ se ha aplicado por extensión a ficheros de datos. Cualquier fichero con algún identificador invariante en una posición fija y cercana al principio en el fichero puede normalmente describirse de esta forma. La información de estos ficheros se lee del ‘fichero mágico’ /usr/share/misc/magic.

Aunque me quedan mis dudas todo esto esta basado en FreeBSD que es un SO basado en UNIX
Espero que les sirva...
J. Arturo Sarabia Rodriguez.

miércoles, 10 de septiembre de 2008

¿Qué es un Checksum?

Hola que tal, espero que se la pasen bien chido y pues vayamos al grano:

Pues encontré este tip en internet acerca de lo que es un Checksum, la verdad nunca en mi vida lo había oído pero al leer acerca de lo que se trataba se me hizo interesante compartirlo con ustedes, al fin y al cabo creo que aunque sea un poco, esto tiene que ver con nuestra materia de programación de sistemas. En resumen proviene del vocablo ingles y traducido al español seria algo Así como "chequeo de suma", por lo cual hace énfasis a una suma, es decir que si los métodos matemáticos a los que se someten un determinado número de octetos, para ser llamado checksum, dichos métodos debe ser a través de sumas. Es un sistema de control de errores y consiste normalmente en un único octeto mediante una o varias operaciones matemáticas sobre todos los octetos de un bloque de datos cuyo fin es detectar los posibles errores que se produzcan durante una transmisión en la red. Si el checksum no es el esperado se reenvía el bloque erróneo.

Pues espero que de algo les haya servido esta embarradita de cultura general informática y pues los veo luego... se despide de ustedes Uriel (dios o demonio)...