Un computador desde
la perspectiva del software, esta
:
Un sistema
operativo.
|
|
Un conjunto de lenguajes a diferente nivel con los cuales se comunica con el usuario y con sus dispositivos. Entre estos están los lenguajes de máquina, los ensambladores y los de alto nivel. | |
Un conjunto de aplicaciones de software. | |
Un conjunto de herramientas de software. |
1.2.2.1
Definiciones
Básicas
Software:
El hardware por si solo no puede
haga nada, pues es necesario que exista el software, que es un conjunto
de instrucciones que le dicen al hardware que haga .
Lenguaje de
programación: Es
un conjunto de reglas y estándares que es utilizado para
escribir programas de computadoras que puedan ser entendidos por
ellas. .
Programa:
Es la representación de algún algoritmo en un lenguaje de programación específico.
1.2.2.2 Lenguaje de Máquina
Es el único lenguaje
que entiende el hardware (máquina) y usa exclusivamente el sistema
binario. Este lenguaje es específico para cada hardware (procesador,
dispositivos, etc.).
El programa es almacenado en memoria y es tanto códigos
de instrucción como datos. La estructura
de una instrucción en lenguaje máquina es la siguiente:
CODIGO ARGUMENTO(S)
1.2.2.3 Lenguaje Ensamblador
Es un lenguaje que
usa mnemónicos (palabras cortas escritas con caracteres alfanuméricos),
para codificar las operaciones. Los datos y/o direcciones son codificados
generalmente como números en un sistema hexadecimal. Generalmente
es específico (aunque no único) para cada lenguaje de máquina.
La estructura de una
instrucción en este lenguaje es la siguiente:
MNEMONICO
ARGUMENTO(S)
Un ENSAMBLADOR
es un software, generalmente escrito en lenguaje de máquina, que
es capaz de traducir de lenguaje ensamblador a lenguaje de máquina,
mientras que un CARGADOR
es un software que almacena en memoria el programa en lenguaje de
máquina generado por el ensamblador.
1.2.2.4 Lenguaje de Alto Nivel
Lenguaje
basado en una estructura gramatical que permite el anidamiento de
instrucciones (instrucciones dentro de instrucciones). Cuenta con
un conjunto de palabras reservadas (escritas en lenguaje natural),
para codificar estructuras de control y/o instrucciones. Estos lenguajes
permiten el uso de símbolos aritméticos y/o relacionales para describir
cálculos matemáticos, y generalmente representan las cantidades
numéricas mediante sistema decimal.
Gracias
a su estructura gramatical, estos lenguajes permiten al programador
olvidar el direccionamiento de memoria (donde cargar datos y/o instrucciones
en la memoria), ya que este se realiza mediante el uso de conceptos
como el de variable; De esta manera, permiten la realización de
programas independiente del Hardware.
Los
COMPILADORES e INTERPRETES son software capaz de traducir
de un lenguaje de alto nivel al lenguaje ensamblador específico
de una máquina. Los primeros toman todo el programa en lenguaje
de alto nivel, lo pasan a lenguaje ensamblador y luego lo ejecutan.
Los últimos toman instrucción por instrucción, la traducen y la
van ejecutando.
1.2.2.5 Sistema Operativo
Es el software encargado
de administrar los recursos del sistema, para esto ofrece un conjunto
de primitivas (funciones y procedimientos) a otro software, que
le permiten a este ultimo ser tan independiente de la arquitectura
de hardware como le sea posible. Se dice que un software es para
el sistema operativo <nombre>,
si utiliza las primitivas que el sistema operativo <nombre>
proporciona. Adicionalmente, un sistema operativo ofrece un conjunto
de comandos a los humanos sean o no programadores, para interactuar
con la máquina.
Los
sistemas operativos pueden ser escritos en lenguaje de alto nivel,
como UNIX que fue escrito en C, en lenguaje ensamblador y/o en lenguaje
máquina. Algunos de los sistemas operativos más conocidos son UNIX,
LINUX, Microsoft Windows.
1.2.2.6 Aplicaciones y Herramientas
Una
APLICACION es un software construido para que el computador
realice una tarea específica y con el cual no se puede construir
otro software. Ejemplos de aplicaciones son los procesadores de
texto como Microsoft Word y Word Perfect y las hojas
electrónicas de cálculo como Microsoft Excel y Lottus.
Una
HERRAMIENTA es un software construido especialmente para
el desarrollo de nuevo software, (tanto de aplicaciones como de
herramientas). Ejemplos de herramientas son los compiladores como
Turbo C y Turbo Pascal, las herramientas CASES y los ambientes integrados
de desarrollo.
En el Anexo A se expone el concepto de sistema
de numeración, y en el Anexo B se muestra como el sistema de numeración
binario es utilizado para representar datos en un computador digital.
En el Anexo A se expone el concepto de sistema
de numeración, y en el Anexo B se muestra como el sistema de numeración
binario es utilizado para representar datos en un computador digital
ARQUITECTURA DE SOFTWARE