2. Concepto
El software consiste en los programas de instrucciones y datos que definen para el hardware los algoritmosnecesarios
para la resolución de problemas. A continuación mencionaremos algunos conceptos de software útiles para entender el
funcionamiento de los sistemas operativos.
3. Programas de Software
Programa: conjunto de argumentos o instrucciones para la computadora, almacenado en la memoria primaria de la
computadora junto con los datos requeridos para ser ejecutado, en otras palabras hacer que las instrucciones sean
realizadas por la computadora.
Tipos de Software
● Software del sistema: Es un conjunto de programas que administran los recursos de la computadora. Ejemplos:
Unidad central de proceso, dispositivos de comunicaciones y dispositivos periféricos, el software del sistema
administra y controla al acceso del hardware.
● Software de aplicaciones: Programas que son escritos para o por los usuarios para realizar una tarea específica
en la computadora. Ejemplo: software para procesar un texto, para generar una hoja de cálculo, el software de
aplicación debe estar sobre el software del sistema para poder operar.
● Software de usuario final: Es el software que permiten el desarrollo de algunas aplicaciones directamente por los
usuarios finales, el software del usuario final con frecuencia tiene que trabajar a través del software de aplicación y
finalmente a través del software del sistema
4.
5. Lenguaje máquina & Lenguaje Ensamblador
Lenguaje máquina. Es un SW de bajo nivel, utiliza código binario, dependiente de la máquina, con instrucciones bastante
primitivas. Es el lenguaje que el sistema de cómputo puede comprender directamente.
-Lenguaje ensamblador. Se desarrollaron para aumentar la velocidad del proceso de programación y reducir los errores de
codificación. Se consideran la versión simbólica del lenguaje máquina. No son directamente entedibles por la computadora,
para ellos requieren ser previamente traducidos (Ensamblador).
Programa que traduce los lenguajes de alto nivel a lenguaje máquina.
6. Sistema de Control de Entrada/Salida (IOCS)
Es el conjunto de programas a través del cual el sistema operativo controla las actividades de entrada/salida que se
generan en el sistema. Comúnmente conocido como BIOS.
7. Spool / Spooling
Operaciones periféricas simultáneas en línea. (Simultaneous Peripherical Operation on Line)
Actividad que realiza el sistema operativo para hacer cambios de velocidad entre los diferentes dispositivos. Es el empleo
de un almacenamiento auxiliar como buffer para reducir el retardo del procesamiento cuando se transfieren datos entre los
equipos periféricos y los procesadores de un computador.
El SPOOL es una técnica que permite que las entradas y las salidas de un proceso tengan un paso intermedio en
dispositivos de gran capacidad de almacenamiento. El ejemplo típico es el spool de impresora: un proceso puede obtener
una gran cantidad de información en poco tiempo, y en cambio estos resultados pueden necesitar mucho tiempo para ser
impresos. Otro caso muy corriente es el de trabajar con un procesador de textos y hacer una impresión de un documento
relativamente largo. Si no se utiliza el spool, tanto el computador como el usuario no podrán hacer nada hasta que se
termine de imprimir.
El Spooling utiliza el disco como un buffer muy grande para leer tan por delante como sea posible de los dispositivos de
entrada y para almacenar los ficheros hasta que los dispositivos de salida sean capaces de aceptarlos.
De esta manera, puede mantener tanto a la CPU como a los dispositivos de E/S trabajando con un rendimiento mucho
mayor.
8. Cargadores
Un cargador es un programa que se encarga de colocar las instrucciones y datos (fichero ejecutable) dentro de localidades
del almacenamiento primario, asignando el espacio necesario en memoria y pasando el control a la primera de las
instrucciones a ejecutar, comenzando a continuación la fase de ejecución.
Cargador absoluto. Reserva un espacio determinado de memoria específico para un determinado programa.
Cargador de relocalización. Puede cargar un programa en diversos lugares de la memoria, dependiendo de la
disponibilidad de memoria al momento de realizar la carga.