Informatica I Und 7 9703

Embed Size (px)

Citation preview

  • 7/30/2019 Informatica I Und 7 9703

    1/72

    Anlisis de Sistema

    FACITEC

  • 7/30/2019 Informatica I Und 7 9703

    2/72

    Definicin de sistemas operativos.1

    Evolucin de los sistemas operativos2

    Esquema general de un sistema operativo,

    programa de control y proceso3

    Proceso de compilacin4

    Tendencias tecnolgicas4

    5

    DOS, Windows 9x, NT, W2000, unix, Linux, ..4

    7

    Sistemas operativos utilizados en la actualidad4

    6

    UNIDAD VII SISTEMAS OPERATIVOS Y TRADUCTORES

  • 7/30/2019 Informatica I Und 7 9703

    3/72

    Definicin de Sistemas OperativosExisten diversas definiciones de lo que es un Sistema Operativo, pero no hay unadefinicin exacta, es decir una que sea estndar.

    Los Sistemas Operativos son ante todo administradores de recursos y el principalrecurso que administra es el hardware del computador, adems de los procesadores,los medios de almacenamiento, los dispositivos de entrada/salida, los dispositivosde comunicacin,, los datos, entre otros.

  • 7/30/2019 Informatica I Und 7 9703

    4/72

    Definicin de Sistemas Operativos

    * Tambin 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 losusuarios y administran cuidadosamente el hardware para lograr un buenfuncionamiento y rendimiento.

  • 7/30/2019 Informatica I Und 7 9703

    5/72

  • 7/30/2019 Informatica I Und 7 9703

    6/72

    Definicin de Sistemas Operativos

    * El Sistema Operativo se encuentra almacenado en la memoria secundaria.

    Primero se carga y ejecuta un pedazo de cdigo que se encuentra en elprocesador, el cual carga el BIOS, y este a su vez carga el Sistema Operativo quecarga todos los programas de aplicacin y software variado.

    http://es.wikipedia.org/wiki/Archivo:Gnulinux.svghttp://es.wikipedia.org/wiki/Archivo:Unix_history-simple.svghttp://es.wikipedia.org/wiki/Archivo:X-Window-System.pnghttp://es.wikipedia.org/wiki/Archivo:Windows_Family_Tree-es.svghttp://es.wikipedia.org/wiki/Archivo:Ms_dos.jpghttp://es.wikipedia.org/wiki/Archivo:Icon-dos.svg
  • 7/30/2019 Informatica I Und 7 9703

    7/72

    Historia yEvolucin de los Sistemas OperativosPrimera generacin

    Abarca desde el 1945 hasta el 1955.

    Vlvulas de vaco

    Cdigo mquina

    En 1950 tarjetas perforadas

  • 7/30/2019 Informatica I Und 7 9703

    8/72

    Historia yEvolucin de los Sistemas OperativosTodo empez en la dcada de los 40.

    A finales de los aos 1940, con la aparicin de la primera generacin decomputadoras, se acceda directamente a la consola de la computadora, por aquelentonces no existan los sistemas operativos, esto haca que el tiempo depreparacin para realizar una tarea fuera considerable. las computadoras eranmquinas muy costosas y slo podan utilizarse en periodos breves de tiempo.Todo se hacia en lenguaje de mquina.

  • 7/30/2019 Informatica I Und 7 9703

    9/72

    Historia yEvolucin de los Sistemas OperativosAos 50

    A principios de los aos 50 con el objeto de facilitar la interaccin entrepersona y computador, los sistemas operativos hacen una aparicin discreta ybastante simple, con conceptos tales como el monitor residente, el proceso porlotes y el almacenamiento temporal.

    Transacciones

    agrupadas en lotes

    Entradas por

    teclado

    Archivo de

    transacciones

    ordenado

    Viejo archivo

    maestro

    Validar y

    actualizarNuevo

    archivo

    maestro

    Informes

    de errores Informes

  • 7/30/2019 Informatica I Und 7 9703

    10/72

  • 7/30/2019 Informatica I Und 7 9703

    11/72

    Historia yEvolucin de los Sistemas OperativosAos 50

    Procesamiento por lotesComo solucin para optimizar el tiempo de montaje surgi la idea de agrupar lostrabajos en lotes, en una misma cinta o conjunto de tarjetas, de forma que seejecutaran uno a continuacin de otro sin perder apenas tiempo en la transicin.

  • 7/30/2019 Informatica I Und 7 9703

    12/72

    Historia yEvolucin de los Sistemas OperativosAos 50

    Almacenamiento temporalSu objetivo era disminuir el tiempo de carga de los programas, haciendo simultneala carga del programa o la salida de datos con la ejecucin de la siguiente tarea.Para ello se utilizaban dos tcnicas, el buffering y el spooling.

  • 7/30/2019 Informatica I Und 7 9703

    13/72

    Historia yEvolucin de los Sistemas OperativosAos 50

    Almacenamiento temporalSu objetivo era disminuir el tiempo de carga de los programas, haciendo simultneala carga del programa o la salida de datos con la ejecucin de la siguiente tarea.Para ello se utilizaban dos tcnicas, el buffering y el spooling.

  • 7/30/2019 Informatica I Und 7 9703

    14/72

    Historia yEvolucin de los Sistemas OperativosSegunda generacin

    Abarca desde el 1955 hasta 1965.

    La tecnologa eran los transistores

    Los programas se ejecutan en batch (enserie).

  • 7/30/2019 Informatica I Und 7 9703

    15/72

    Historia yEvolucin de los Sistemas OperativosAos 60

    Se produjeron cambios notorios en varios campos de la informtica, Transistores ycon la aparicin de el circuito cerrado la mayora orientados a seguirincrementando el potencial de los computadores. Para ello se utilizaban tcnicas delo ms diversas:

  • 7/30/2019 Informatica I Und 7 9703

    16/72

    Historia yEvolucin de los Sistemas OperativosAos 60

    MultiprogramacinEn un sistema multiprogramado la memoria principal alberga a ms de un programade usuario. La CPU ejecuta instrucciones de un programa, cuando el que seencuentra en ejecucin realiza una operacin de E/S; en lugar de esperar a quetermine la operacin de E/S, se pasa a ejecutar otro programa. Si ste realiza, a suvez, otra operacin de E/S, se mandan las rdenes oportunas al controlador, y pasaa ejecutarse otro. De esta forma es posible, teniendo almacenado un conjuntoadecuado de tareas en cada momento, utilizar de manera ptima los recursosdisponibles.

  • 7/30/2019 Informatica I Und 7 9703

    17/72

    Historia yEvolucin de los Sistemas OperativosAos 60

    Tiempo compartidoHace buen uso de la electrnica disponible, pero adolece de falta de interactividad,Al realizar una operacin de E/S los programas ceden la CPU a otro programa, aligual que en la multiprogramacin. Pero, a diferencia de sta, cuando un programalleva cierto tiempo ejecutndose el sistema operativo lo detiene para que se ejecuteotro aplicacin. Con esto se consigue repartir la CPU por igual entre los programasde los distintos usuarios, y los programas de los usuarios no se sienten demasiadolentos por el hecho de que los recursos sean compartidos y aparentemente seejecutan de manera concurrente.

  • 7/30/2019 Informatica I Und 7 9703

    18/72

    Historia yEvolucin de los Sistemas OperativosAos 60

    Tiempo realSe usan en entornos donde se deben aceptar y procesar en tiempos muy breves ungran nmero de sucesos, en su mayora externos al ordenador. Si el sistema norespeta las restricciones de tiempo en las que las operaciones deben entregar suresultado se dice que ha fallado. El tiempo de respuesta a su vez debe servir pararesolver el problema o hecho planteado. El procesamiento de archivos se hace deuna forma continua, pues se procesa el archivo antes de que entre el siguiente, susprimeros usos fueron y siguen siendo en telecomunicaciones.

  • 7/30/2019 Informatica I Und 7 9703

    19/72

    Historia yEvolucin de los Sistemas OperativosAos 60

    MultiprocesadorPermite trabajar con mquinas que poseen ms de un microprocesador. En unmultiprocesador los procesadorescomparten memoria y reloj.

  • 7/30/2019 Informatica I Und 7 9703

    20/72

    Historia yEvolucin de los Sistemas OperativosAos 60

    Sistemas operativos desarrolladosAdems del Atlas Supervisor y el OS/360, los sesenta marcaron el inicio de UNIX, amediados de los 60 aparece Multics, sistema operativo multiusuario multitareadesarrollado por los laboratorios Bell de AT&T y programado en PL/1 uno de lospocos SO desarrollados en un lenguaje de alto nivel en aquel tiempo, luego delfracaso del proyecto UNIX comienza a desarrollarse a partir de este a finales de ladcada.

  • 7/30/2019 Informatica I Und 7 9703

    21/72

    Historia yEvolucin de los Sistemas OperativosTercera generacin

    Abarca desde el 1965 hasta 1980.Circuitos integrados, IBM 360,

    Sistema operativo, Multiprogramacin: para optimizarel uso del procesador en operaciones de entrada ysalida se divide la memoria en varios trabajos y eltiempo de la CPU se reparte entre estos trabajos.

    Tiempo compartido: hay varios usuarios, cada unotiene un terminal y la CPU la que hace es que atiendesucesivamente a cada uno de ellos.

  • 7/30/2019 Informatica I Und 7 9703

    22/72

    Historia yEvolucin de los Sistemas OperativosTercera generacin

    Abarca desde el 1965 hasta 1980.La CPU le dedicaba un espacio corto de tiempo a cada terminal, pero paraque no se mezclaran informaciones una serie de laboratorios invent MULTICS (Multiplexed Information and Computing Service).

    Ken Thomson invent UNICS, que era un sistema operativo monousuario.

    Ms tarde le cambiaron el nombre a UNIX. Luego, se ha inventado LINUX,un sistema operativo abierto en el que cada usuario puede hacer lo que leconvenga: modificar programas,

  • 7/30/2019 Informatica I Und 7 9703

    23/72

    Historia yEvolucin de los Sistemas OperativosAos 70

    Debido al avance de la electrnica, pudieron empezar a crearse circuitos con milesde transistores en un centmetro cuadrado de silicio, lo que llevara, pocos aosdespus, a producirse los primeros sistemas integrados. sta dcada se podradefinir como la de los sistemas de propsito general y en ella se desarrollantecnologas que se siguen utilizando en la actualidad.

  • 7/30/2019 Informatica I Und 7 9703

    24/72

    Historia yEvolucin de los Sistemas OperativosAos 70

    Es en los aos 1970 cuando se produce el boom de los miniordenadores y lainformtica se acerca al nivel de usuario. En lo relativo a lenguajes deprogramacin, es de sealar la aparicin de Pascal y C, el ltimo de los cuales secre especficamente para reescribir por completo el cdigo del sistema operativoUnix, convirtindolo en uno de los pocos SO escritos en un lenguaje de alto nivel.En el campo de la programacin lgica se dio a luz la primera implementacin deProlog, y en la revolucionaria orientacin a objetos, Smalltalk.

  • 7/30/2019 Informatica I Und 7 9703

    25/72

    Historia yEvolucin de los Sistemas OperativosAos 70

    Inconvenientes de los sistemas existentesSe trataba de sistemas grandes y costosos, pues antes no se haba construido nadasimilar y muchos de los proyectos desarrollados terminaron con costos muy porencima del presupuesto y mucho despus de lo que se marcaba como fecha definalizacin. Adems, aunque formaban una capa entre el hardware y el usuario,ste deba conocer un complejo lenguaje de control para realizar sus trabajos.

  • 7/30/2019 Informatica I Und 7 9703

    26/72

    Historia yEvolucin de los Sistemas OperativosAos 70

    Inconvenientes de los sistemas existentes

    Otro de los inconvenientes es el gran consumo de recursos que ocasionaban,debido a los grandes espacios de memoria principal y secundaria ocupados, ascomo el tiempo de procesador consumido. Es por esto que se intent hacerhincapi en mejorar las tcnicas ya existentes de multiprogramacin y tiempocompartido.

  • 7/30/2019 Informatica I Und 7 9703

    27/72

    Historia yEvolucin de los Sistemas OperativosAos 70

    Caractersticas de los nuevos sistemas

    Para solventar los problemas antes comentados, se realiz un costossimo trabajopara interponer una amplia capa de software entre el usuario y la mquina, de formaque el primero no tuviese que conocer ningn detalle de la circuitera.

  • 7/30/2019 Informatica I Und 7 9703

    28/72

    Historia yEvolucin de los Sistemas OperativosAos 70

    Sistemas operativos desarrollados

    MULTICS (Multiplexed Information and Computing Service): Originalmente era unproyecto cooperativo liderado por Fernando Corbat del MIT, con General Electric ylos laboratorios Bell, pero los laboratorios Bell abandonaron el Proyecto paracomenzar a crear el sistema UNIX. Se desarroll inicialmente para el mainframe GE-645, un sistema de 36 bits; despus fue soportado por la serie de mquinas Honeywell6180, fue uno de los primeros sistemas operativos de tiempo compartido, queimplement un solo nivel de almacenamiento para el acceso a los datos, desechandola clara distincin entre los ficheros y los procesos en memoria, y uno de los primerossistemas multiprocesador.

  • 7/30/2019 Informatica I Und 7 9703

    29/72

    Historia yEvolucin de los Sistemas OperativosAos 70

    Sistemas operativos desarrollados

    MVS (Multiple Virtual Storage): Fue el sistema operativo ms usado en los modelosde mainframes -ordenadores grandes, potentes y caros usados principalmente porgrandes compaas para el procesamiento de grandes cantidades de datos-System/370 y System/390 de IBM, desarrollado tambin por IBM y lanzado almercado por primera vez en 1974. Como caractersticas destacables, permita laejecucin de mltiples tareas, adems de que introdujo el concepto de memoriavirtual y finalmente aadi la capacidad de que cada programa tuviera su propioespacio de direccionamiento de memoria, de ah su nombre.

  • 7/30/2019 Informatica I Und 7 9703

    30/72

    Historia yEvolucin de los Sistemas OperativosAos 70

    Sistemas operativos desarrollados

    CP/M (Control Program/Monitor): Desarrollado por Gary Kildall para elmicroprocesador 8080/85 de Intel y el Zilog Z80, sali al mercado en 1976,distribuyndose en disquetes de ocho pulgadas.. Su xito se debi a que eraporttil, permitiendo que diferentes programas interactuasen con el hardware deuna manera estandarizada. Estaba compuesto de dos subsistemas:

  • 7/30/2019 Informatica I Und 7 9703

    31/72

    Historia yEvolucin de los Sistemas OperativosAos 70

    Sistemas operativos desarrollados

    CCP (Comand Control Processor): Intrprete de comandos que permita introducirlos mandatos con sus parmetros separados por espacios. Adems, los traduca ainstrucciones de alto nivel destinadas a BDOS.

    o BDOS (Basic Disk Operating System): Traductor de las instrucciones en llamadasa la BIOS.

  • 7/30/2019 Informatica I Und 7 9703

    32/72

    Historia yEvolucin de los Sistemas OperativosCuarta generacin

    Abarca los1980.

    Circuitos integrados de gran escala deintegracin. LSI

    Ordenadores personales

    Aparece un nuevo sistema operativollamado MS-DOS de Microsoft. IBM PC.PC-DOS. Motorola 68000-UNIX.

  • 7/30/2019 Informatica I Und 7 9703

    33/72

    Historia yEvolucin de los Sistemas OperativosCuarta generacin

    Abarca los1980.

    Sistemas en red: se comunican entre ellos. Debe proporcionar accesode unos a otros, pero debe tambin, controlar el acceso. Es un sistema delogin password.

    Sistema distribuido: un mismo programa se puede ejecutar en variosprocesadores al mismo tiempo.

    Para evitar que cuando un ordenador se estropee y est ejecutando algo

    importante y general en ese mismo instante, esto deje de ejecutarse, hayvarios ordenadores que hacen lo mismo.

  • 7/30/2019 Informatica I Und 7 9703

    34/72

    Historia yEvolucin de los Sistemas OperativosAos 80

    Con la creacin de los circuitos LSI -integracin a gran escala, empez el augede los ordenadores personales. En stos sedej un poco de lado el rendimiento y se

    busc ms que el sistema operativo fueraamigable, surgiendo mens, e interfacesgrficas. Esto reduca la rapidez de lasaplicaciones, pero se volvan ms prcticosy simples para los usuarios. y nacieronotros nuevos, de los cuales se podrandestacar: C++.

  • 7/30/2019 Informatica I Und 7 9703

    35/72

    Historia yEvolucin de los Sistemas OperativosAos 80

    Un avance importante que se estableci a mediados de la dcada de 1980 fue eldesarrollo de redes de computadoras personales que corran sistemas operativosen red y sistemas operativos distribuidos.

  • 7/30/2019 Informatica I Und 7 9703

    36/72

    Historia yEvolucin de los Sistemas OperativosAos 80

    Apple Macintosh

    El lanzamiento oficial se produjo en enero de 1984, al precio de 2495 dlares.Muchos usuarios, al ver que estaba completamente diseado para funcionar atravs de una GUI (Graphic User Interface), acostumbrados a la lnea de comandos,lo tacharon de juguete. A pesar de todo, el Mac se situ a la cabeza en el mundo dela edicin a nivel grfico.

  • 7/30/2019 Informatica I Und 7 9703

    37/72

    Historia yEvolucin de los Sistemas OperativosAos 80

    DOS (Disk Operating System).

    Es un sistemas operativos para PC. El nombre son las siglas de disk operatingsystem ("sistema operativo de disco"). Fue creado originalmente paracomputadoras de la familia IBM PC, siendo el primer sistema operativo popular paraesta plataforma. Probablemente la ms popular de sus variantes sea laperteneciente a la familia MS-DOS, de Microsoft, mas tarde se convirti en una parte

    integrada del sistema operativo Windows.

    http://es.wikipedia.org/wiki/Computadora_personalhttp://es.wikipedia.org/wiki/IBM_PChttp://es.wikipedia.org/wiki/Archivo:Icon-dos.svghttp://es.wikipedia.org/wiki/IBM_PChttp://es.wikipedia.org/wiki/IBM_PChttp://es.wikipedia.org/wiki/IBM_PChttp://es.wikipedia.org/wiki/Computadora_personal
  • 7/30/2019 Informatica I Und 7 9703

    38/72

    Historia yEvolucin de los Sistemas OperativosAos 80

    Microsoft Windows.

    Familia de sistemas operativos desarrollados por la Microsoft Corporation,fundada por Bill Gates y Paul Allen.

    Todos ellos tienen en comn que estan basados en una interfaz grfica de usuariobasada en el paradigma de ventanas, de ah su nombre en ingls. Las versiones deWindows que han aparecido hasta el momento se basan en dos lneas separadasde desarrollo que finalmente convergen en una sola con la llegada de Windows XP.

    La primera de ellas conformaba la apariencia de un sistema operativo, aunquerealmente se ejecutaba sobre MS-DOS.

    El 22 de octubre de 2009, Microsoft lanz

    Windows 7

  • 7/30/2019 Informatica I Und 7 9703

    39/72

    Historia yEvolucin de los Sistemas OperativosAos 90

    GNU/Linux

    En 1991 aparece la primera versin del ncleo de Linux, Creado por LinusTorvalds y un sinfn de colaboradores a travs de Internet. Este sistema se basa enUnix, un sistema que en principio trabajaba en modo comandos, estilo MS-DOS.Hoy en da dispone de Ventanas, gracias a un servidor grafico y a gestores deventanas como KDE, GNOME entre muchos. Recientemente GNU/Linux dispone deun aplicativo que convierte las ventanas en un entorno 3D como por ejemplo Beryl.

    Lo que permite utilizar linux de una forma muy visual y atractiva.

  • 7/30/2019 Informatica I Und 7 9703

    40/72

    Historia yEvolucin de los Sistemas OperativosSistemas operativos ms usados en la actualidad

    En la siguiente imagen podrn apreciar la lista de sistemas operativos msutilizados en la actualidad, es en general ya que no nos dice la versin del sistemaoperativo, pero podemos ver la gran diferencia que lleva Windows ante los dems.

  • 7/30/2019 Informatica I Und 7 9703

    41/72

    Historia yEvolucin de los Sistemas OperativosQuinta generacin:

    Lo realizaron los japoneses.

    Programa de inteligencia artificial

    Dos de las partes ms importantes son el reconocimiento de la voz y lacomprensin del lenguaje natural.

    Una de las mayores revoluciones de la historia es la aparicin de Internet.

  • 7/30/2019 Informatica I Und 7 9703

    42/72

    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

    Intrpretes:traducen y ejecutan el programa fuenteinstruccin a instruccin.

    Instr. 1

    Instr. 2 intrprete cdigo objetoInstr. 3

  • 7/30/2019 Informatica I Und 7 9703

    43/72

    PROCESODECOMPILACIONCompiladores e intrpretes.Los compiladores y los intrpretes son sistemas que traducen, cadauno a su manera, de un lenguaje a otro:Compiladores: traducen todo e programa a cdigo objeto.

    cdigo fuente compilador cdigo objetoIntrpretes: traducen y ejecutan el programa fuente instruccin ainstruccin.

    Instr. 1Instr. 2 intrprete cdigo objetoInstr. 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 elintrprete en memoria.El programa compilado no necesita el programa fuente ni elcompilador.Debe haber un traductor para cada mquina.

  • 7/30/2019 Informatica I Und 7 9703

    44/72

    PROCESODECOMPILACIONDEL CDIGO FUENTE AL CDIGO MQUINA

    Programa: Algoritmo (secuencia no ambigua, finita y

    ordenada de instrucciones para la resolucin de undeterminado problema) traducido a un lenguaje de

    programacin, de modo que un ordenador es capaz de

    ejecutarlo.

    Programacin:Elaboracin de un programa de maneraque ste sea:

    Correcto Un programa ser correcto si hace lo que debehacer, de modo que se deben especificar de manera muy

    clara cules son los datos sobre los que se trabajarn y loque se debe hacer con ellos. Todo debe ser documentado

    y probado antes de desarrollarlo.

    .

  • 7/30/2019 Informatica I Und 7 9703

    45/72

    PROCESODECOMPILACIONClaro Es muy importante la claridad y legibilidad de todoprograma, ya que facilitar al mximo la tarea de

    mantenimiento posterior del software.

    Modular Los programas suelen subdividirse ensubprogramas (mdulos), para reducir la complejidad de

    aquella parte que se est implementando y facilitar lareutilizacin de cdigo.

    Para la elaboracin de un programa hay que distinguir

    entre las siguientes dos fases:

    Fase de compilacin y linkado (link, montado o enlace)

    Fase de ejecucin de un programa

  • 7/30/2019 Informatica I Und 7 9703

    46/72

    PROCESODECOMPILACIONFase 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 debeser traducido a lenguaje mquina.

    Las etapas por las que debe pasar un programa escrito en

    un lenguaje de programacin, hasta poder ser ejecutableson:

    Programa fuente:Programa escrito en un lenguaje de altonivel (texto ordinario que contiene las sentencias del

    programa en un lenguaje de programacin). Necesita ser

    traducido a cdigo mquina para poder ser ejecutado.

  • 7/30/2019 Informatica I Und 7 9703

    47/72

    PROCESODECOMPILACIONCompilador: Programa encargado de traducir los

    programas fuentes escritos en un lenguaje de alto nivel alenguaje 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 noes directamente ejecutable.

    Programa Ejecutable:Traduccin completa a cdigomquina, realizada por el enlazador, del programa fuente

    y que ya es directamente ejecutable.

  • 7/30/2019 Informatica I Und 7 9703

    48/72

    PROCESODECOMPILACIONLinker (montador o enlazador): Es el programa encargado

    de insertar al programa objeto el cdigo mquina de lasfunciones 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) yaprogramado y traducido a cdigo mquina, listo para

    utilizar en un programa y que facilita la labor del

    programador.

  • 7/30/2019 Informatica I Und 7 9703

    49/72

    PROCESODECOMPILACIONComocada 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, elcompilador generar el cdigo objeto, en caso contrariomostrar 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:

  • 7/30/2019 Informatica I Und 7 9703

    50/72

    PROCESODECOMPILACION Los errores entiempo de compilacin son los que seproducen antes de la ejecucin del programa, durante el

    proceso de compilacin del programa.

    Los errores en tiempo de ejecucin son los que seproducen 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 darerrores durante su ejecucin.

  • 7/30/2019 Informatica I Und 7 9703

    51/72

    PROCESODECOMPILACIONPor ejemplo:

    Un programa puede producir resultados errneos, alequivocarnos (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.

  • 7/30/2019 Informatica I Und 7 9703

    52/72

    PROCESODECOMPILACIONLos errores que se pueden producir en la fase decompilacin son:

    Errores fatales: Son raros. Indican errores internos delcompilador. 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 tampocoel ejecutable.

  • 7/30/2019 Informatica I Und 7 9703

    53/72

    PROCESODECOMPILACION Advertencias o avisos (warnings): Indican que hay

    lneas de cdigo sospechosas que a pesar de no infringirninguna 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 unprograma ejecutable.

    OC SO CO C O

  • 7/30/2019 Informatica I Und 7 9703

    54/72

    PROCESODECOMPILACIONCon respecto a los errores en tiempo de ejecucin,

    encontrar la causa que los provoca es una labor enocasiones complicada, razn por la cual los EID(Entornos Integrados de Desarrollo, p.ej. DevC++) nosproporcionan una herramienta llamada Depurador que nos

    ayuda a encontrar los errores lgicos y dems errores

    producidos en tiempo de ejecucin.

    PROCESO DE COMPILACION

  • 7/30/2019 Informatica I Und 7 9703

    55/72

    PROCESODECOMPILACIONUn 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 laejecucin del programa.

    Adems permiten alterar el flujo de ejecucin del mismo,

    cambiar los valores de las variables e introducir puntos deparada.

    PROCESO DE COMPILACION

  • 7/30/2019 Informatica I Und 7 9703

    56/72

    PROCESODECOMPILACIONPasos para la elaboracin y ejecucin de un programa.

    1. Escribir el cdigo fuente, por ej. con el editor del EID.

    2. Compilar el fichero fuente

    3. Si se producen errores de sintaxis (o warnings) volver aleditor y eliminar los errores de sintaxis.

    4. Si no hay errores se obtendr el cdigo objeto y elenlazador construir el archivo ejecutable.

    5. Una vez tengamos el archivo ejecutable, ser el

    sistema operativo el encargado de colocar el programa enla memoria central y ejecutarlo.

    PROCESO DE COMPILACION

  • 7/30/2019 Informatica I Und 7 9703

    57/72

    PROCESODECOMPILACION6 . Comprobar el funcionamiento del programa.

    7 . Si se detecta errores o un mal funcionamiento delprograma, 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 programalo repetiremos hasta que no se produzcan errores.

    PROCESO DE COMPILACION

  • 7/30/2019 Informatica I Und 7 9703

    58/72

    PROCESODECOMPILACIONFase 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 deControl los siguientes pasos (fases):

    PROCESO DE COMPILACION

  • 7/30/2019 Informatica I Und 7 9703

    59/72

    PROCESODECOMPILACION2.1. Captacin de la instruccin: Lee de la Memoria

    Principal la instruccin a ejecutar.

    2.2. Ejecucin de la instruccin: Interpreta la instruccinleda 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

  • 7/30/2019 Informatica I Und 7 9703

    60/72

    PROCESODECOMPILACIONEl compilador de C. Caractersticas generales.

    El lenguaje C es un lenguaje muy potente y eficientede nivel medio: Combina elementos de lenguajes de altonivel con la funcionalidad del lenguaje ensamblador. Es

    adecuado para la programacin de sistemas.

    Es un lenguaje de propsito general (puede utilizarsepara 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 otracomputadora sin hacer muchos cambios.

    PROCESO DE COMPILACION

  • 7/30/2019 Informatica I Und 7 9703

    61/72

    PROCESODECOMPILACION El lenguaje C es un lenguaje estructurado: permite

    seccionar y esconder (mediante subrutinas y variableslocales) del resto del programa toda la informacin e

    instrucciones necesarias para realizar una determinada

    tarea.

    El lenguaje C slo tiene 32 palabras clave, (BASIC porejemplo tiene 159).

    Suele incluir potentes libreras de funciones que

    aumentan su potencia.

    PROCESO DE COMPILACION

  • 7/30/2019 Informatica I Und 7 9703

    62/72

    PROCESODECOMPILACION El lenguaje C es compilado, no interpretado. Un

    intrprete lee el cdigo fuente de un programa lnea a lneay 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

  • 7/30/2019 Informatica I Und 7 9703

    63/72

    TENDENCIAS

    Lasolas de innovacin tecnolgicas, son capaces de

    alterar el marco econmico y social de los pases que se

    vean afectados por dichas olas.

    TENDENCIAS TEGNOLOGICAS

  • 7/30/2019 Informatica I Und 7 9703

    64/72

    TENDENCIAS TEGNOLOGICASEl debate entre los "gurs" del Silicon Valley indica que la prxima ola deinnovacin surguir de la convergencia de 3 mbitos:

    .

    Biotecnologa (Biotech).

    Nanotecnologa (Nanotech).

    Infotecnologa (Infotech).

    Esquema general de los Sistemas Operativos

  • 7/30/2019 Informatica I Und 7 9703

    65/72

    Esquema general de los Sistemas Operativos

    Arquitectura;

    Los elementos de un sistema operativo son

    Ncleo del sistema operativo.

    Implementacin entre las llamadas al sistema.Procesador de comandos.

    Planificador de tareas.

    Gestin del sistema de ficherosGestin de recursos

    Esquema general de los Sistemas Operativos

  • 7/30/2019 Informatica I Und 7 9703

    66/72

    Esquema general de los Sistemas OperativosArquitectura;

    Ncleo del sistema operativo.

    Gestin de interrupciones: locacin de interrupciones y saber reaccionar, lo quetenga que hacer.

    Dispatcher: se preocupa de la gestin a bajo nivel de la CPU, la coordinacin delcambio de actividad entre procesos.

    Esquema general de los Sistemas Operativos

  • 7/30/2019 Informatica I Und 7 9703

    67/72

    Esquema general de los Sistemas OperativosArquitectura;

    Ncleo del sistema operativo.

    Representacin de procesos: para poder ejecutar un programa tiene que guardarloen la memoria. Se pueden producir tres situaciones: est en ejecucin, seaejecutable o no sea ejecutable.

    Repertorio de instrucciones privilegiadas: hay operaciones que el usuario nopuede hacer, solo el supervisor. Como contraseas,

    Esquema general de los Sistemas Operativos

  • 7/30/2019 Informatica I Und 7 9703

    68/72

    Esquema general de los Sistemas OperativosArquitectura;

    Implementacin entre las llamadas al sistema:

    Piden servicios al sistema operativo.

    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.

    Esquema general de los Sistemas Operativos

  • 7/30/2019 Informatica I Und 7 9703

    69/72

    Esquema general de los Sistemas OperativosArquitectura;

    Planificador de tareas.

    Haydos tipos, el sistema operativo tiene que decir cmo ejecuta los programas: enbatch (un programa detrs de otro, del ms importante al menos), o en tiempocompartido, time-sharing (se sita el proceso en la coleccin de programas deejecucin).

    Esquema general de los Sistemas Operativos

  • 7/30/2019 Informatica I Und 7 9703

    70/72

    Esquema general de los Sistemas OperativosArquitectura;

    Gestin del sistema de ficheros:

    Tiene la funcin de organizar el sistema de directorios. Asigna y gestiona elespacio libre ocupado en el disco duro. Tiene que permitir la manipulacin entreficheros y/o directorios y establecer una proteccin de los ficheros a los noautorizados.

    Esquema general de los Sistemas Operativos

  • 7/30/2019 Informatica I Und 7 9703

    71/72

    Esquema general de los Sistemas OperativosArquitectura;

    Gestin de recursos:

    Lleva la coordinacin de la asignacin de recursos de sistema (la memoria, losperifricos,). Tiene que establecer medidas de proteccin y seguridad, y para ellotiene que tener un manejador de dispositivos (drivers).

    Esquema general de los Sistemas Operativos

  • 7/30/2019 Informatica I Und 7 9703

    72/72

    Esquema general de los Sistemas OperativosArquitectura;

    Gestin de recursos:

    Lleva la coordinacin de la asignacin de recursos de sistema (la memoria, losperifricos,). Tiene que establecer medidas de proteccin y seguridad, y para ellotiene que tener un manejador de dispositivos (drivers).