Sei sulla pagina 1di 14

PROGRAMACION DE SISTEMAS

. INTRODUCCIN A LA PROGRAMACIN DE SISTEMAS. Sptimo Cuatrimestre. 1ra. Unidad.

1.1 Que es y que estudia la programacin de sistemas. 1.2 Herramientas aplicadas a la programacin de sistemas. 1.3 Tipos de lenguajes. 1.4 El traductor. 1.5 Interpretes. 1.6 Ensambladores y compiladores.
1.6.1 Los ensambladores y el lenguaje ensamblador. 1.6.2 Diseo de un lenguaje ensamblador. 1.6.3 Tcnicas de ensamblado. 1.6.4 Gestin de memoria en el ensamblador.

1.7 Cargadores y ligadores.


1.7.1 Tipos de cargadores. 1.7.2 Relacin cargador-sistema operativo 1.7.3 Tipos de ligadores.

1.8 Uso de macros. 1.9 Depuradores. 1.10 Generadores de cdigo para compiladores.

1.1 QU ES Y QUE ESTUDIA LA PROGRAMACIN DE SISTEMAS? Son los programas que residen en un sistema de computacin. Su funcin es proporcionar al usuario o programador una interface mas eficiente y practica con relacin al hardware de la maquina. La P. de S. estudia como estn implementados cada uno de los programas de un Sistema.

PROGRAMACIN DE SISTEMAS: Conjunto de reglas para crear soluciones a problemas computables. Conjunto de herramientas que nos permiten crear software de base que son de utilidad para interactuar con la mquina. SOFTWARE DE BASE: Compilador, Querys, Sistema Operativo, Cargador. AUTMATA: Son las cadenas posibles que aceptan un lenguaje. EXPRESIONES REGULARES: Conjunto de smbolos que aceptan una palabra reservada.

GRAMTICA: Reglas para escribir las sentencias del lenguaje.

1.2 Herramientas aplicadas a la programacin de sistemas


Tales como: Cargadores. Ensambladores (Masm) Queries relacionales Compiladores (javac) Interpretes (Visual Basic) Traductores. Ligadores (Link) Sistema Operativo (Windows) Utileras de Sistemas (Debugger) DBMS. (Sistema de gestin de base de datos) Generadores de cdigo. En esta rea se estudia la teora de mquinas y su aplicacin en el diseo de sistemas digitales y de arquitectura de computadoras. reas especficas: Sistemas digitales para arquitecturas paralelas y control de procesos y sistemas reconfigurables.

1.3 LENGUAJES

Naturales

Artificiales

Traductores InglesEspaol, Ingles-Ruso, etc.

Compiladores de LP como: Java C++ Ada, etc.

LENGUAJE DE PROGRAMACIN: Es la notacin formal para la descripcin de algoritmos, basada en un conjunto de instrucciones en alto nivel, que finalmente pasarn a bajo nivel para interactuar con el hardware y generar herramientas de trabajo. Los lenguajes son sistemas de comunicacin. Un lenguaje de programacin consiste en todos los smbolos, caracteres y reglas de uso que permiten a las personas "comunicarse" con las computadoras.

Lenguajes naturales. Este tipo de lenguaje es el que nos permite el designar las cosas actuales y razonar a cerca de ellas, fue desarrollado y organizado a partir de la experiencia humana y puede ser utilizado para analizar situaciones altamente complejas y razonar muy sutilmente. La riqueza de sus componentes semnticos da a los lenguajes naturales su gran poder expresivo y su valor como una herramienta para razonamiento sutil.

PROCESO DE COMUNICACIN

1.4 TRADUCTOR Y SU ESTRUCTURA


Un traductor se define como un programa que traduce o convierte desde un texto o programa escrito en un lenguaje fuente hasta un texto o programa equivalente escrito en un lenguaje destino produciendo, si cabe, mensajes de error. Los traductores engloban tanto a los compiladores (en los que el lenguaje destino suele ser cdigo mquina) como a los intrpretes (en los que el lenguaje destino est constituido por las acciones atmicas que puede ejecutar el intrprete).

Estructura:
Un traductor divide su labor en dos etapas: una que analiza la entrada y genera estructuras intermedias y otra que sintetiza la salida a partir de dichas estructuras. Por tanto, el esquema de un traductor pasa de ser el de la anterior, a ser el de la siguiente figura:

Bsicamente los objetivos de la etapa de anlisis son: a) controlar la correccin del programa fuente, y b) generar las estructuras necesarias para comenzar la etapa de sntesis. Para llevar esto a cabo, la etapa de anlisis consta de las siguientes fases: Anlisis lexicogrfico. Divide el programa fuente en los componentes bsicos del lenguaje a compilar. Anlisis sintctico. Comprueba que la estructura de los componentes bsicos sea correcta segn las reglas gramaticales del lenguaje que se compila. Anlisis semntico. Comprueba que el programa fuente respeta las directrices del lenguaje que se compila (todo lo relacionado con el significado): chequeo de tipos, rangos de valores, existencia de variables, etc. Generacin de cdigo intermedio. Genera un cdigo independiente de la mquina muy parecido al ensamblador. No se genera cdigo mquina directamente porque as es ms fcil hacer pseudocompiladores y adems se facilita la optimizacin de cdigo independientemente del microprocesador. Generacin del cdigo mquina. Crea un bloque de cdigo mquina ejecutable, as como los bloques necesarios destinados a contener los datos. Fase de optimizacin. La optimizacin puede realizarse sobre el cdigo intermedio (de forma independiente de las caractersticas concretas del microprocesador), sobre el cdigo mquina, o sobre ambos. Y puede ser una aislada de las dos anteriores, o estar integrada con ellas.

INTERPRETES.

Es un programa capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intrpretes suelen contraponerse a los compiladores, ya que mientras que los segundos se encargan de traducir un programa desde su descripcin en un lenguaje de programacin al cdigo maquina del sistema destino, los primeros solo realizan la traduccin a medida que sea necesario y normalmente no guardan el resultado de dicha traduccin. Java Script. Java Basic Logo Lisip ASP (hasta la versin 3) Smalizalk C# Python J# Perl ASP PHP Son ejemplos de lenguajes que son interpretados en lugar de ser compilados. CARACTERISTICAS: Traduce y ejecuta una lnea del programa a la vez. Si hay error, detiene ejecucin del programa. Programas ms lentos pero ms portables y flexibles.