Вы находитесь на странице: 1из 28

Unidad 1

Introduccin a la
programacin de sistemas

1.1 Qu es y qu estudia
programacin de sistemas?

la

Programa:
Conjunto de instrucciones que ejecuta
una computadora para realizar una
actividad.

Programacin:
Proceso de convertir las
especificaciones a grandes rasgos de
los sistemas en instrucciones de
maquina que produzcan los
resultados deseados

Sistema:
Conjunto de elementos autnomos que
trabajan en armona para alcanzar un
objetivo en comn.
Conjunto de componentes que
interaccionan entre si para lograr un
objetivo comn.
Ejemplos de sistemas:
Lenguaje humano

Tipos de sistemas
Sistemas fsicos
equipo, maquinaria, objetos reales, Hardware

Sistemas abstractos
ideas, hiptesis, conceptos, planes, Software

Sistemas abiertos y cerrados


Dependiendo del ambiente en que se
ejecutan.

Caractersticas
sistema

de

un

Estn bien delimitados, por lo tanto


se conocen sus fronteras.
Un sistema puede interactuar con su
medio ambiente a travs de una
interfaz de entradas y salidas que
recibe el nombre de parmetros del
sistema.
Un sistema puede ser componente de
otro sistema

Clasificacin del software


Software de sistemas: software que
ayuda (sirve de base) a otro software
Procesan estructuras de datos complejas
Tienen una fuerte dependencia con el
hardware
Utilizan una fuerte gestin de procesos
(concurrencia, planificacin, etc.)
Software de aplicacin
Software de tiempo real
Software de inteligencia artificial

reas afines a la programacin de


sistemas
Teora de la computacin
Lenguajes de programacin
Arquitecturas de computadoras
Algortmica
Ingeniera del software

Estudia la teora de mquinas y su


aplicacin en el diseo de sistemas
digitales y de arquitectura de
computadoras.

1.2 Herramientas desarrolladas


con la teora de programacin
de sistemas.
Construccin de compiladores para
ejecutar lenguajes de programacin
Cualquier programa en el que se
tenga que hacer un anlisis o
extraccin de informacin

Software de sistemas
Editores de texto inteligentes (IDEs con
autocompletar, revisores ortogrficos, etc)
Analiza el texto del programa, imponiendo
al
programa
fuente
una
estructura
jerrquica apropiada.

Impresoras estticas (impresin de gran


calidad sin un editor visual)
Una impresora esttica analiza un programa
y lo imprime de forma que la estructura del
programa resulte claramente visible.

Compiladores
Programa que traduce un programa fuente al
lenguaje ensamblador o de mquina de alguna
computadora.

1.3 Lenguajes
Conjunto de palabras y reglas que
permiten
comunicar
informacin
entre dos entidades.
Cadenas que pueden generarse a
travs de una gramtica
Ejemplo:
Lenguaje mquina
Lenguaje humano

Lenguaje natural
Son un medio para lograr la comunicacin de
pensamientos.
Usado por los seres humanos en su
comunicacin ordinaria
Permite designar las cosas actuales y razonar a
cerca de ellas
Es inherentemente ambiguo, por lo que se
necesita crear un lenguaje que permita eliminar
esas ambigedades.
Cualquier lenguaje que se aprende por sentido
comn, a travs de la convivencia, sin ningn
tipo de conocimiento tcnico.

Un lenguaje se considera como un conjunto de


oraciones, que usualmente es infinito y se forma
con combinaciones de palabras del diccionario. Es
necesario
que
esas
combinaciones
sean
correctas(con respecto a sintaxis) y tengan
sentido(con respecto a la semntica).
La funcin del lenguaje se lleva a cabo por medio
de seales y vocales(voz) y por signos
escritos(escritura).
Ejemplos:
Ingls
Latn
Castellano

Clases de lenguaje

Naturales: es el medio que


utilizado de manera cotidiana
para establecer comunicacin con
las
dems
personas
Formales: es aquel que el
hombre ha desarrollado para
expresar las situaciones que se
dan en especifico en cada rea
del conocimiento cientfico.

Lenguaje de alto nivel


Encargado de mediar entre la abstraccin
humana y la abstraccin de lenguaje de
mquina
Es ms portable que el lenguaje mquina en lo
que respecta al cdigo fuente

Lenguajes artificiales
Cdigo
inventado
para
determinadas
disciplinas y leyes, para utilizarlo de
determinadas maneras.
Permite implementar un algoritmo en una
computadora para resolver un problema
Las computadoras solo manejan 0 y 1

Lenguajes de bajo nivel


Es ms entendible al lenguaje mquina
Ejemplo:
Lenguaje ensamblador

Lenguajes mquina
Es dependiente de cada tipo de arquitectura de
computadoras por lo que el cdigo no es
fcilmente portable a otras arquitecturas

1.3.3 Proceso de la comunicacin

Lenguaje

Emisor

Recepto
r

Traductor

Los humanos escribimos algoritmos en un


lenguaje formal que una computadora
pueda
transformar
a
un
lenguaje
entendible por ella.

Elemento s de la comunicacin humana:


Codificador:
Cdigo:
Mensaje:
Decodificador:
Canal:
Retroalimentacin:
Si
no
hay
realimentacin
no
hay
comunicacin

1.4 Traductor y su estructura


Programa que traduce un lenguaje a otro.
Informa de posibles errores.
Es un mediador entre dos entidades
Emisoras
Receptoras

Un traductor convierte un lenguaje de


entrada a uno de salida
Cdigo
Fuente

Cdigo objeto

Una traduccin puede ser sencilla o


compleja dependiendo del tipo de lenguaje
de entrada y salida
Traduccin espaol a ingls

Estructura

Lenguaje
Fuente

Lenguaje
destino

Mensajes
error

de

1.4.1 Ensambladores
Traductor que se encarga de convertir instrucciones
de bajo nivel a instrucciones de una mquina en
general
Es la representacin simblica de la codificacin
binaria de una computadora.
Es un lenguaje simblico que da nombres a las
instrucciones de mquina, y permite dar nombres a
posiciones de memoria que contienen instrucciones
o datos.
Este lenguaje debe ser traducido a lenguaje
mquina para poder ser interpretado y ejecutado
directamente por la computadora.

1.4.2 Compiladores
programa que lee un programa escrito en
un lenguaje fuente, y lo traduce a un
programa equivalente en lenguaje objeto
Necesita revisar todo el cdigo fuente para
poder realizar la traduccin
Ejemplo: la traduccin de un libro, discurso,
o artculo tcnico o de investigacin
Ejemplo de compilador
C++

Entre ms pasadas se de a un cdigo


fuente mayor es la optimizacin que se
puede hacer.

1.4.3 Intrpretes
Traductor de lenguaje de alto nivel a
lenguaje mquina
Traduce y ejecuta las instrucciones del programa
fuente una por una, sin generar fichero alguno
con cdigo objeto.
Programa que acepta otro programa (el programa
fuente) escrito en un determinado lenguaje (el
lenguaje fuente), y lo ejecuta.