You are on page 1of 5

QUE ES? Un sistema es un conjunto de componentes que interaccionan entre si para lograr un objetivo comn.

Las personas se comunican con el lenguaje, que es un sistema muy desarrollado formado por palabras y smbolos que tienen significado para el que habla y para quienes lo escuchan, lo mismo es para las computadoras las cuales tienen sistemas y se comunican por medio de computadoras. La programacin es el proceso de convertir las especificaciones a grandes rasgos de los sistemas en instrucciones de maquina que produzcan los resultados deseados. QUE ESTUDIA? El trabajo de un programador de sistemas es seleccionar, modificar y mantener el complejo software del sistema operativo. Por lo tanto, los programadores de sistemas desempean una funcin de apoyo al mantener el ambiente del software del sistema operativo en el que trabajan los programadores de aplicaciones y los operadores de las computadoras. Tambin participan en las decisiones relativas a reducciones o ampliaciones de hardware y/o software. Programacin de Sistemas Conceptos y Aplicaciones Se entiende por programacin de sistemas el conjunto de programas necesario para que una computadora de una imagen coherente y monoltica ante sus usuarios. Es un rea especializada dentro de las ciencias de la computacin. As, mediante la programacin de sistemas, no solo se manejan las computadoras por medio del lenguaje maquina (0 y 1) sino por otros sistemas operativos, sin lo cual sera muy difcil la interaccin con la maquina. El estudio de la programacin de sistemas 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. Inteligencia artificial aplicada a trabajo cooperativo En las aplicaciones cooperativas realizadas en el entorno Web, es viable hacer uso de las herramientas de inteligencia artificial. Se estn diseando y construyendo herramientas para elaborar un sistema sin costura que opere en Web con la finalidad de proporcionar a un grupo de coautores el soporte necesario para producir conjunta y simultneamente un mismo documento. La plataforma, denominada PINAS, es un sistema de edicin cooperativa (Alliance Web) y un sistema de notaciones sobre documentos complejos (COARSY) los cuales podrn permitir a coautores o revisores distribuidos en diferentes sitios del mundo, compartir y anotar observaciones sobre documentos complejos tales como captulos de libro, artculos, reportes, expedientes mdicos, etc. Sistemas para arquitecturas paralelas y distribuidas Diseo de sistemas operativos para arquitecturas paralelas y sistemas distribuidos, particularmente en lo que se refiere a manejo de memoria y calendarizacin de procesos.

Redes y protocolos, programacin distribuida, diseo y evaluacin de middleware enfocados a aplicaciones de minera de datos y multimedia. Diseo de algoritmos paralelos y distribuidos. Herramientas para programacin paralela y distribuida. Sistemas de tiempo real Relacionados con diversos aspectos de la planificacin de los sistemas de tiempo real entre los cuales se encuentran los siguientes: planificacin tolerante a fallas en sistemas de tiempo real, planificacin de tiempo real en situaciones de sobrecarga, esto es en aplicaciones en donde se demande del procesador ms del 100% de su capacidad, y planificacin de sistemas de tiempo real aplicada al control de procesos y tcnicas de planificacin de tareas de tiempo real con restricciones de consumo de poder. Diseo y programacin de sistemas grandes Los sistemas empotrados suelen ser grandes y complejos, formados por subsistemas relacionados, pero relativamente independientes. Algunos lenguajes ignoran el hecho de que los programas se construyen por partes, cada una de ellas compilada por separado y todas ellas enlazadas en una aplicacin final. El resultado se convierte en aplicaciones monolticas difciles de mantener. Otros lenguajes, en contraste, parten del concepto de mdulo y proporcionan mecanismos de encapsulamiento y abstraccin que ayudan a programar sistemas grandes, ya que el trabajo del equipo de programacin y posterior mantenimiento del sistema se ve facilitado. Uno de estos lenguajes es Ada, que est fuertemente fundamentado en la disciplina de la ingeniera del software por lo que es el lenguaje ms apropiado en la programacin de sistemas empotrados industriales grandes.Ada asume la necesidad de la compilacin separada y proporciona dos mecanismos para realizarla, uno ascendente y otro descendente: o El mecanismo descendente (descomposicin): consiste en dividir un sistema complejo en componentes ms sencillos. Es apropiado para el desarrollo de grandes programas coherentes que, son divididos en varias subunidades que pueden compilarse por separado. Las subunidades se compilan despus que la unidad de la que forman parte. o El mecanismo ascendente (abstraccin): consiste en la especificacin de los aspectos esenciales de un componente, posponiendo su diseo detallado. Es apropiado para la creacin de bibliotecas de programa en las que las unidades se escriben para uso general y, consecuentemente, se escriben antes que los programas que las vayan a utilizar. El diseo de sistemas mediante mdulos permite encapsular partes del sistema mediante interfaces bien definidas y permiten utilizar tcnicas que facilitan el desarrollo de sistemas grandes como: - Ocultacin de informacin. - Tipos abstractos de datos. - Compilacin separada.

Las unidades de programa en Ada son las siguientes: - Subprograma que define los algoritmos ejecutables. Los procedimientos y las funciones son subprogramas. - Paquete: define una coleccin de entidades. Los paquetes son el principal mecanismo de agrupacin de Ada. - Tarea: define una computacin que puede llevarse a cabo en paralelo con otras computaciones. - Unidades Genricas: ayudan a realizar cdigo reutilizable. Pueden ser subprogramas o paquetes. - Unidad Protegida: puede coordinar el acceso a datos compartidos en el procesamiento paralelo. Aparece en el estndar Ada 95. En Ada, las unidades de compilacin pueden ser: o Especificaciones de subprogramas o Especificaciones de paquetes o Cuerpos de subprogramas o paquetes Algunos compiladores pueden establecer ciertos requisitos para las unidades de compilacin. Por ejemplo, GNAT en su configuracin predefinida exige que cada unidad est definida en un fichero, con el nombre de la unidad y la extensin .ads para especificaciones y .adb para cuerpos. El guin - se ha de utilizar en sustitucin del punto . para unidades hijas y subunidades. Referencias: La Programacion de Sistemas es la accion de resolver eficientemente una necesidad mediante un codigo hecho programa que se comunican para satisfacer dicha necesidad en un ambiente amigable y facil de manejar para el usuario final. Se entiende por programacin de sistemas el conjunto de programas necesario para que una computadora de una imagen coherente y monoltica ante sus usuarios. Es un rea especializada dentro de las ciencias de la computacin. As, mediante la programacin de sistemas, no solo se manejan las computadoras por medio del lenguaje maquina (0 y 1) sino por otros sistemas operativos, sin lo cual sera muy difcil la interaccin con la maquina. Toda accion que codificada resuelva una necesidad o problema sistematizadamente. 1.2 Herramientas Desarrolladas Con Teora De La Programacin De Sistemas Las herramientas de programacin, son aquellas que permiten realizar aplicativos, programas, rutinas, utilitarios y sistemas para que la parte fisica del computador u ordenador, funcione y pueda producir resultados.

Hoy dia existen mltiples herramientas de programacin en el mercado, tanto para analistas expertos como para analistas inexpertos. Las herramientas de programacin ms comunes del mercado, cuentan hoy dia con programas de depuracin o debugger, que son utilitarios que nos permiten detectar los posibles errores en tiempo de ejecucin o corrida de rutinas y programas. Muchas herramientas de software que manipulan programas fuente realizan primero algn tipo de anlisis. Algunos ejemplos de tales herramientas son:

1. Editores de estructuras: Un editor de estructuras toma como entrada una secuencia de rdenes para construir un programa fuente. El editor de estructuras no slo realiza las funciones de creacin y modificacin de textos de un editor de textos ordinario, sino que tambin analiza el texto del programa, imponiendo al programa fuente una estructura jerrquica apropiada. De esa manera, el editor de estructuras puede realizar tareas adicionales tiles para la preparacin de programas. Por ejemplo, puede comprobar si la entrada est formada correctamente, puede proporcionar palabras clave de manera automtica (por ejemplo, cuando el usuario escribe while, el editor proporciona el correspondiente do y le recuerda al usuario que entre las dos palabras

debe ir un condicional) y puede saltar desde un begin o un parntesis izquierdo hasta su correspondiente end o parntesis derecho. Adems, la salida de tal editor suele ser similar a la salida de la fase de anlisis de un compilador.

2. Impresoras estticas: Una impresora esttica analiza un programa y lo imprime de forma que la estructura del programa resulte claramente visible. Por ejemplo, los comentarios pueden aparecer con un tipo de letra especial, y las proposiciones pueden aparecer con una indentacin proporcional a la profundidad de su anidamiento en la organizacin jerrquica de las proposiciones. 3. Verificadores estticos: Un verificador esttico lee un programa, lo analiza e intenta descubrir errores potenciales sin ejecutar el programa. La parte de anlisis a menudo es similar a la que se encuentra en los compiladores de optimizacin. As, un verificador esttico puede detectar si hay partes de un programa que nunca se podrn ejecutar o si cierta variable se usa antes de ser definida. Adems, puede detectar errores de lgica, como intentar utilizar una variable real como apuntador, empleando las tcnicas de verificacin de tipos. 4. Intrpretes: En lugar de producir un programa objeto como resultado de una traduccin, un intrprete realiza las operaciones que implica el programa fuente. Para una proposicin de asignacin, por ejemplo, un intrprete podra construir un rbol como el de la figura 1 y despus efectuar las operaciones de los nodos conforme recorre el rbol. En la raz descubrira que tiene que realizar una asignacin, y llamara a una rutina para evaluar la expresin de la derecha y despus almacenara el valor resultante en la localidad de memoria asociada con el identificador posicin. En el hijo derecho de la raz, la rutina descubrira que tiene que calcular la suma de dos expresiones. Se llamara a s misma de manera recursiva para calcular el valor de la expresin velocidad*60. Despus sumara ese

valor de la variable inicial. Muchas veces los intrpretes se usan para ejecutar lenguajes de rdenes, pues cada operador que se ejecuta en un lenguaje de rdenes suele ser una invocacin de una rutina compleja, como un editor o un compilador. Del mismo modo algunos lenguajes de muy alto nivel, normalmente son interpretados, porque hay muchas cosas sobre los datos, como el tamao y la forma de las matrices, que no se pueden deducir en el momento de la compilacin. 5. Compiladores: Tradicionalmente, se concibe un compilador como un programa que traduce un programa fuente, como FORTRAN, al lenguaje ensamblador o de mquina de algn computador. Sin embargo, hay lugares, al parecer, no relacionados donde la tecnologa de los compiladores se usa con regularidad. La parte de anlisis de cada uno de los siguientes ejemplos es parecida a la de un compilador convencional.

a) Formadores de textos. Un formador de textos toma como entrada una cadena de caracteres, la mayor parte de la cual es texto para componer, pero alguna incluye rdenes para indicar prrafos, figuras o estructuras matemticas, como subndices o superndices. b) Compiladores de circuitos de silicio. Un compilador de circuitos de silicio tiene un lenguaje fuente similar o idntico a un lenguaje de programacin convencional. Sin embargo las variables del lenguaje no representan localidades de memoria, sino seales lgicas (0 o 1) o grupos de seales en un circuito de conmutacin. La salida es el diseo de un circuito en un lenguaje apropiado. c) Intrpretes de consultas. Un intrprete de consultas traduce un predicado que contiene operadores relacionales y bolanos a rdenes para buscar en una base de datos registros que satisfagan ese predicado.

You might also like