Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1 2 3
Definicin de sistemas operativos. Evolucin de los sistemas operativos Esquema general de un sistema operativo, programa de control y proceso
Proceso de compilacin
4
4 5 4 6 4 7
Tendencias tecnolgicas Sistemas operativos utilizados en la actualidad DOS, Windows 9x, NT, W2000, unix, Linux, ..
podemos decir que un Sistema Operativo es el software instalado que hace utilizable el hardware. El hardware proporciona la "capacidad bruta de cmputo"; los sistemas operativos ponen dicha capacidad de cmputo al alcance de los usuarios y administran cuidadosamente el hardware para lograr un buen funcionamiento y rendimiento.
Cdigo mquina
En 1950 tarjetas perforadas
Informes
La tecnologa eran los transistores Los programas se ejecutan en batch (en serie).
Con la creacin de los circuitos LSI integracin a gran escala, empez el auge de los ordenadores personales. En stos se dej un poco de lado el rendimiento y se busc ms que el sistema operativo fuera amigable, surgiendo mens, e interfaces grficas. Esto reduca la rapidez de las aplicaciones, pero se volvan ms prcticos y simples para los usuarios. y nacieron otros nuevos, de los cuales se podran destacar: C++.
Todos ellos tienen en comn que estan basados en una interfaz grfica de usuario basada en el paradigma de ventanas, de ah su nombre en ingls. Las versiones de Windows que han aparecido hasta el momento se basan en dos lneas separadas de desarrollo que finalmente convergen en una sola con la llegada de Windows XP. La primera de ellas conformaba la apariencia de un sistema operativo, aunque realmente se ejecutaba sobre MS-DOS.
El 22 de octubre de 2009, Microsoft lanz Windows 7
COMPILADORES E INTERPRETES
Los compiladores y los intrpretes son sistemas que traducen, cada uno a su manera, de un lenguaje a otro: Compiladores: traducen todo e programa a cdigo objeto.
cdigo fuente
compilador
cdigo objeto
intrprete
cdigo objeto
PROCESO DE COMPILACION
Compiladores e intrpretes. Los compiladores y los intrpretes son sistemas que traducen, cada uno a su manera, de un lenguaje a otro: Compiladores: traducen todo e programa a cdigo objeto. cdigo fuente compilador cdigo objeto Intrpretes: traducen y ejecutan el programa fuente instruccin a instruccin. Instr. 1 Instr. 2 intrprete cdigo objeto Instr. 3 : Diferencias y semejanzas entre los compiladores y los intrpretes: Un compilador es mucho ms complejo. El intrprete ocupa menos espacio y es bastante ms sencillo. Con un intrprete se necesita tener el programa fuente y el intrprete en memoria. El programa compilado no necesita el programa fuente ni el compilador. Debe haber un traductor para cada mquina.
PROCESO DE COMPILACION
DEL CDIGO FUENTE AL CDIGO MQUINA Programa: Algoritmo (secuencia no ambigua, finita y ordenada de instrucciones para la resolucin de un determinado problema) traducido a un lenguaje de programacin, de modo que un ordenador es capaz de ejecutarlo. Programacin: Elaboracin de un programa de manera que ste sea: Correcto Un programa ser correcto si hace lo que debe hacer, de modo que se deben especificar de manera muy clara cules son los datos sobre los que se trabajarn y lo que se debe hacer con ellos. Todo debe ser documentado y probado antes de desarrollarlo.
.
PROCESO DE COMPILACION
Claro Es muy importante la claridad y legibilidad de todo programa, ya que facilitar al mximo la tarea de mantenimiento posterior del software. Modular Los programas suelen subdividirse en subprogramas (mdulos), para reducir la complejidad de aquella parte que se est implementando y facilitar la reutilizacin de cdigo. Para la elaboracin de un programa hay que distinguir entre las siguientes dos fases:
PROCESO DE COMPILACION
Fase de compilacin y linkado (link, montado o enlace) Un programa escrito en un lenguaje de alto nivel, no puede ser ejecutado directamente por un ordenador, sino que debe ser traducido a lenguaje mquina. Las etapas por las que debe pasar un programa escrito en un lenguaje de programacin, hasta poder ser ejecutable son: Programa fuente: Programa escrito en un lenguaje de alto nivel (texto ordinario que contiene las sentencias del programa en un lenguaje de programacin). Necesita ser traducido a cdigo mquina para poder ser ejecutado.
PROCESO DE COMPILACION
Compilador: Programa encargado de traducir los programas fuentes escritos en un lenguaje de alto nivel a lenguaje mquina y de comprobar que las llamadas a las funciones de librera se realizan correctamente. Programa (o cdigo) objeto: Es el programa fuente traducido (por el compilador) a cdigo mquina. An no es directamente ejecutable. Programa Ejecutable: Traduccin completa a cdigo mquina, realizada por el enlazador, del programa fuente y que ya es directamente ejecutable.
PROCESO DE COMPILACION
Linker (montador o enlazador): Es el programa encargado de insertar al programa objeto el cdigo mquina de las funciones de las libreras (archivos de biblioteca) usadas en el programa y realizar el proceso de montaje, que producir un programa ejecutable .exe. Las libreras son una coleccin de cdigo (funciones) ya programado y traducido a cdigo mquina, listo para utilizar en un programa y que facilita la labor del programador.
PROCESO DE COMPILACION
Como cada lenguaje de programacin tiene unas reglas especiales (sintaxis) debe existir un compilador especfico para cada lenguaje de programacin.
Si el programa fuente es sintcticamente correcto, el compilador generar el cdigo objeto, en caso contrario mostrar una lista con los errores encontrados, no generndose ningn programa objeto, para que procedamos a su depuracin Los compiladores emiten mensajes de error o de advertencia durante las fases de compilacin, de enlace o de ejecucin de un programa:
PROCESO DE COMPILACION
Los errores en tiempo de compilacin son los que se producen antes de la ejecucin del programa, durante el proceso de compilacin del programa.
Los errores en tiempo de ejecucin son los que se producen durante la ejecucin del programa. Son los ms difciles de encontrar, no son detectados por el compilador, ya que son errores de lgica, no de sintaxis. Aunque al compilar un programa no de errores, el programa puede funcionar incorrectamente y/o a dar errores durante su ejecucin.
PROCESO DE COMPILACION
Por ejemplo: Un programa puede producir resultados errneos, al equivocarnos (errores lgicos) al programar el algoritmo (sumar en vez de restar, etc.). Un programa puede interrumpirse bruscamente, por ejemplo si tenemos que hacer una divisin y el divisor es cero, etc.
PROCESO DE COMPILACION
Los errores que se pueden producir en la fase de compilacin son: Errores fatales: Son raros. Indican errores internos del compilador. Cuando ocurren la compilacin se detiene inmediatamente. Errores de sintaxis: Son los errores tpicos de sintaxis. No detienen la compilacin sino que al finalizar sta se mostrar la lista con todos los errores encontrados. Algunos errores suelen ser consecuencia de otros cometidos con anterioridad. Con este tipo de errores no se puede obtener un programa objeto y por lo tanto tampoco el ejecutable.
PROCESO DE COMPILACION
Advertencias o avisos (warnings): Indican que hay lneas de cdigo sospechosas que a pesar de no infringir ninguna regla sintctica, el compilador las encuentra susceptibles de provocar un error. Cuando se detecta un warning la compilacin no se detiene. Si en un programa fuente slo se detectan warnings s que se podr obtener un programa objeto, que tras el linkado dar lugar a un programa ejecutable.
PROCESO DE COMPILACION
Con respecto a los errores en tiempo de ejecucin, encontrar la causa que los provoca es una labor en ocasiones complicada, razn por la cual los EID (Entornos Integrados de Desarrollo, p.ej. DevC++) nos proporcionan una herramienta llamada Depurador que nos ayuda a encontrar los errores lgicos y dems errores producidos en tiempo de ejecucin.
PROCESO DE COMPILACION
Un depurador (debugger), es un programa diseado especficamente para la deteccin, verificacin y correccin de errores. Los depuradores nos permiten trazar el programa (ejecutarlo sentencia a sentencia) y visualizar el contenido de las variables y direcciones de memoria durante la ejecucin del programa. Adems permiten alterar el flujo de ejecucin del mismo, cambiar los valores de las variables e introducir puntos de parada.
PROCESO DE COMPILACION
Pasos para la elaboracin y ejecucin de un programa. 1. Escribir el cdigo fuente, por ej. con el editor del EID.
PROCESO DE COMPILACION
6 . Comprobar el funcionamiento del programa. 7 . Si se detecta errores o un mal funcionamiento del programa, activar el depurador para trazar el programa y ejecutarlo sentencia a sentencia. 8 . Una vez que hayamos encontrado la causa del error, volveremos al editor y lo corregimos. 9 . El proceso de compilar, enlazar y ejecutar el programa lo repetiremos hasta que no se produzcan errores.
PROCESO DE COMPILACION
Fase de ejecucin de un programa Una vez que tenemos el programa en lenguaje mquina, para poderlo ejecutar hay que introducirlo en la memoria. 1. Una utilidad del S.O. llamada cargador colocar el programa, y sus datos de entrada, en memoria principal, preparndolo para su ejecucin. 2. El S.O. le pasa el control a la C.P.U. para que comience la ejecucin del programa, realizando la Unidad de Control los siguientes pasos (fases):
PROCESO DE COMPILACION
2.1. Captacin de la instruccin: Lee de la Memoria Principal la instruccin a ejecutar. 2.2. Ejecucin de la instruccin: Interpreta la instruccin leda y enva seales de control a las unidades que deban intervenir en su ejecucin. Tras dicha ejecucin se establece cul ser la siguiente instruccin a ejecutar.
PROCESO DE COMPILACION
El compilador de C. Caractersticas generales. El lenguaje C es un lenguaje muy potente y eficiente de nivel medio: Combina elementos de lenguajes de alto nivel con la funcionalidad del lenguaje ensamblador. Es adecuado para la programacin de sistemas. Es un lenguaje de propsito general (puede utilizarse para desarrollar sistemas operativos, gestores de bases de datos, etc). El cdigo de C es muy portable: se puede adaptar el software escrito para un tipo de computadora a otra computadora sin hacer muchos cambios.
PROCESO DE COMPILACION
El lenguaje C es un lenguaje estructurado: permite seccionar y esconder (mediante subrutinas y variables locales) del resto del programa toda la informacin e instrucciones necesarias para realizar una determinada tarea. El lenguaje C slo tiene 32 palabras clave, (BASIC por ejemplo tiene 159).
PROCESO DE COMPILACION
El lenguaje C es compilado, no interpretado. Un intrprete lee el cdigo fuente de un programa lnea a lnea y las traduce online para que la CPU las pueda interpretar, pero no genera ningn programa objeto. Un compilador lee el programa entero, lo traduce y genera un cdigo objeto directamente ejecutable y entendible por el microprocesador.
TENDENCIAS
Las olas de innovacin tecnolgicas, son capaces de alterar el marco econmico y social de los pases que se vean afectados por dichas olas.
TENDENCIAS TEGNOLOGICAS
El debate entre los "gurs" del Silicon Valley indica que la prxima ola de innovacin surguir de la convergencia de 3 mbitos: .
Procesador de comandos.
Tiene que permitir el dilogo como usuarios. En el DOS el fichero que lo permite se llama comando.com y en el UNIX se llama Shell.