You are on page 1of 9

Programacin de sistemas

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 mquina que produzcan los resultados deseados. 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 mquina.

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 Programacin de Sistemas es la accin de resolver eficientemente una necesidad mediante un cdigo hecho programa que se comunican para satisfacer dicha necesidad en un ambiente amigable y fcil 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 mquina. Toda accin que codificada sistematizadamente. [1] resuelva una necesidad o problema

reas de aplicacin

Inteligencia artificial Bsicamente, la inteligencia artificial es aquella que trata de explicar el funcionamiento mental basndose en el desarrollo de algoritmos para controlar diferentes cosas. La inteligencia artificial combina varios campos, como la robtica, los sistemas expertos y otros, los cuales tienen un mismo objetivo, que es tratar de crear mquinas que puedan pensar por s solas, lo que origina que hasta la fecha existan varios estudios y aplicaciones, dentro de las que se encuentran las redes neuronales, el control de procesos o los algoritmos genticos. La idea de construir una mquina que pueda pensar es que realice cosas que nosotros realizamos y hacemos. Pero para que las computadoras se ganen el nombre de inteligentes, primero tienen que ser capaces de mantener, por ejemplo, un dilogo con un ser humano, ya que las computadoras nicamente pueden realizar o hacer lo que se les indique, pero nunca sabrn lo que estn realizando pues no estn conscientes de lo que hacen. 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. Compartir y anotar observaciones sobre documentos complejos tales como captulos de libro, artculos, reportes, expedientes mdicos, etc.[2]

Teora de la computacin La teora de la computacin o informtica terica (en ingls Theoretical Computer Science) es una ciencia cuyas bases estn establecidas bsicamente en principios matemticos y conjunta varias ramas de las matemticas. Es un campo especialmente rico para la indagacin filosfica. Alan Turing, establece la relacin entre la lgica y la computacin electrnica, plantea la famosa Mquina de Turing, la cual es la base de la Teora de la Computacin actual. Turing es, por tanto, considerado el padre de la Teora de la Computacin. La teora de la computacin se vale de la lgica matemtica, teora de conjuntos, teora de grafos, lgebra matricial, lgebra relacional, etc.

La teora de la computacin busca determinar cules problemas pueden ser computados en un dato modelo de computacin Diversos modelos diferentes de la computacin fueron propuestos por los primeros investigadores. Un modelo, conocido como Mquina de Turing, propona la construccin de una mquina universal, capaz de operar con una secuencia de instrucciones y datos entremados en una cinta de largura infinita; la mquina podra operar en un punto de la cinta de cada vez utilizando un cdigo de lectura y escritura.[3]

Desarrollo de software Cuando se va desarrollar un software intervienen muchas personas como lo es el cliente quien es el que tiene el problema en su empresa y desea que sea solucionado, para esto existe el analista de sistema quien es el encargado de hacerle llegar todos los requerimientos y necesidades que tiene el cliente a los programadores quienes son las personas encargadas de realizar lo que es la codificacin y diseo del sistema para despus probarlo y lo instalan al cliente. Es as como intervienen varias personas ya que una sola persona no podra determinar todo lo necesario lo ms seguro que le haga falta algn requerimiento o alguna parte del nuevo sistema y entre ms estn involucradas mejor para cubrir con todos los requerimientos del sistema.

Proceso

El proceso de desarrollo del software se muestra grficamente en la parte de arriba, a continuacin desarrollara una breve explicacin del mismo. El primer paso del proceso es el anlisis, es aqu donde el analista se pone en contacto con la empresa para ver cmo est conformada, a que se dedica, saber todas las actividades que realiza en s, conocer la empresa de manera general para posteriormente ver cules son sus necesidades o requerimientos que la empresa tiene en ese momento para poder realizar un anlisis de la misma. Es importante saber cules son los requerimientos que la empresa tiene por que muchas veces los sistemas se desarrollan pero no pensando en el cliente y es ah donde el sistema no cumple o no satisface las necesidades que existen en la empresa, segn los requerimientos se empieza a realizar el diagrama relacional todo debe de llevar una secuencia lgica de las actividades, todo esto se realiza de manera manual para ver cmo ser su diseo lgico y diseo de pantallas es en este paso donde se plasma todo y queda perfectamente bien definido como va hacer la funcionalidad del sistema. El segundo paso es el de diseo aqu entran todo el diseo del sistema es decir las pantallas, base de datos, todo esto debe de cumplir con ciertos estndares los cuales se toman en cuenta para poder desarrollar el diseo con calidad y as poder ofrecer un diseo amigable en cuestin de colores, tamaos de botones, cajas de texto, etc. El tercer paso es la codificacin es aqu donde se desarrolla todo el cdigo del sistema por parte del programador esto se hace ya dependiendo de cada programador ya que cada programador tiene sus bases o formas para realizarlo pero en si deben todos llegar al mismo objetivo de ofrecerle funcionalidad al sistema siempre y cuando apegando se a las especificaciones del cliente. El cuarto paso son las pruebas, es donde al sistema se pone a prueba como su palabra lo dice para as poder saber cules son los posibles errores que se estn generando del sistema y con ello mejorarlo para eliminar todos los errores que se

puedan presentar porque un programa con menor errores mayor calidad puede llegar a tener.[4]

Sistemas expertos Los sistemas expertos forman parte de un firme y verdadero avance en inteligencia artificial. Los sistemas expertos pueden incorporar miles de reglas. Para una persona seria una experiencia casi "traumtica" el realizar una bsqueda de reglas posibles al completado de un problema y concordar estas con las posibles consecuencias, mientras que se sigue en un papel los trazos de un rbol de bsqueda. Los sistemas expertos realizan amablemente esta tarea; mientras que la persona responde a las preguntas formuladas por el sistema experto, este busca recorriendo las ramas ms interesantes del rbol, hasta dar con la respuesta a fn al problema, o en su falta, la ms parecida a esta. Los sistemas expertos tienen la ventaja frente a otros tipos de programas de Inteligencia Artificial, de proporcionar gran flexibilidad a la hora de incorporar nuevos conocimientos. Para ello solo tenemos que introducir la nueva regla que deseemos hacer constar y a est, sin necesidad de cambiar el funcionamiento propio del programa. Los sistemas expertos son "auto explicativo", al contrario que en los programas convencionales, en los que el conocimiento como tal est encriptado junto al propio programa en forma de lenguaje de ordenador. Los expertos de I.A. dicen que los sistemas expertos tienen un conocimiento declarativo, mientras que en los dems programas es procedural. La funcin de un Sistema Experto es la de aportar soluciones a problemas , como si de humanos se tratara, es decir capaz de mostrar soluciones inteligentes. Y os preguntareis Cmo es posible?. Es posible gracias a que al sistema lo crean con expertos (humanos), que intentan estructurar y formalizar conocimientos ponindolos a disposicin del sistema, para que este pueda resolver una funcin dentro del mbito del problema, de igual forma que lo hubiera hecho un experto. Acceder a los conocimientos adquiridos por experiencia es lo ms difcil, ya que los expertos, al igual que otras personas, apenas los reconocen como tales. Son buscados con mucho esfuerzo y cuidado siendo descubiertos de uno en uno, poco a poco. Por qu utilizar un sistema experto 1. Con la ayuda de un Sistema Experto, personas con poca experiencia pueden resolver problemas que requieren un "conocimiento formal especializado". 2. Los Sistemas Expertos pueden obtener conclusiones y resolver problemas de forma ms rpida que los expertos humanos.

3. Los Sistemas Expertos razonan pero en base a un conocimiento adquirido y no tienen sitio para la subjetividad. 4. Se ha comprobado que los Sistemas Expertos tienen al menos, la misma competencia que un especialista humano. a. Cuando los expertos humanos en una determinada materia son escasos. b. En situaciones complejas, donde la subjetividad humana puede llevar a conclusiones errneas. c. Cuando es muy elevado el volumen de datos que ha de considerarse para obtener una conclusin. 5. El uso de Sistemas Expertos es especialmente recomendado en las siguientes situaciones: Aplicaciones Sus principales aplicaciones se dan en las gestiones empresariales debido a que: A. Casi todas las empresas disponen de un ordenador que realiza las funciones bsicas de tratamiento de la informacin: contabilidad general, decisiones financieras, gestin de la tesorera, planificacin, etc. B. Este trabajo implica manejar grandes volmenes de informacin y realizar operaciones numricas para despus tomar decisiones. Esto crea un terreno ideal para la implantacin de los SE. Adems los SE tambin se aplican en la contabilidad en apartados como: Auditoria(es el campo en el que ms aplicaciones de SE se esta realizando) Fiscalidad, planificacin, anlisis financiero y la contabilidad financiera. reas de aplicacin Los SE se aplican a una gran diversidad de campos y/o reas. A continuacin se listan algunas de las principales: Militar Qumica Geologa Electrnica Medicina Informtica Derecho Arqueologa Transporte Industria Telecomunicaciones Aeronutica Agricultura Educacin Finanzas y Gestin

Ventajas Estos programas proporcionan la capacidad de trabajar con grandes cantidades de informacin, que son uno de los grandes problemas que enfrenta el analista humano que puede afectar negativamente a la toma de decisiones pues el analista humano puede depurar datos que no considere relevantes, mientras un SE debido a su gran velocidad de proceso analiza toda la informacin incluyendo las no tiles para de esta manera aportar una decisin ms slida.[5]

[1]http://www.monografias.com/trabajos79/introduccion-programacionsistemas/introduccion-programacion-sistemas.shtml

[2]http://www.uv.mx/cienciahombre/revistae/vol17num3/articulos/inteligencia/index. htm

[3]http://enciclopedia.us.es/index.php/Teor%C3%ADa_de_la_computaci%C3%B3n

[4]http://www.monografias.com/trabajos39/desarrollo-del-software/desarrollo-delsoftware.shtml [5]http://www.monografias.com/trabajos30/sistemas-expertos/sistemasexpertos.shtml

You might also like