Software
El software viene conformado por el conjunto de programas que se instalan en la computadora para crear la interfaz gráfica del usuario
Tipos de Software
Todos los programas que conforman el software, pueden ser divididos en dos bien diferenciados por su función:
Software de sistema: esta compuesta por el conjunto de programas imprescindibles para el funcionamiento del hardware, más un conjunto cuya misión es de facilitar el uso del sistema y optimizar sus recursos.
Software de aplicación: es el conjunto de programas que se desarrollan para que una computadora realice cualquier trabajo controlado por el usuario.
Programas de control
Los programas de control constituyen la parte del sistema operativo dedicada a coordinar el funcionamiento de todos los recursos y elementos de la computadora, es decir, el procesador, la memoria, las operaciones de entrada/salida, la información y en definitiva todo el entorno del sistema incluidos los periféricos.
Los programas de control están especialmente desarrollados para que puedan ayudar con éxito a la computadora, se cual fuese la modalidad con que trabaje: monoprogramación, multiprogramación, proceso distributivo, etc., consiguiendo así la utilización óptima de los recursos disponibles.
En general, un sistema operativo tiene englobados estos programas en un conjunto denominado núcleo (kernel) que se divide en los siguientes núcleos:
Gestión del Procesador:
Los programas del procesador son los encargados de la preparación de los programas de usuario para su ejecución, así como de la asignación de tiempos en el procesador. Sus principales fundones son:
Preparación de programas: su misión es transferir los programas ejecutables de usuario desde la memoria externa a la memoria central de la computadora a partir de una determinada dirección de memoria; por medio de un programa que se denomina cargador.
Planificación del procesador: consiste en el control, a trabes d una determinada política de asignación de tiempos, de utilización del procesador a los distintos procesos que en un momento determinado se en cuantían en el sistema. En los sistemas opresivos actuales existe una gran variedad de formas de planificar el tiempo del procesador.
Asignación de periféricos: en un programa, generalmente, nunca se especifica el periférico concreto que se va a utilizar, sino que se solicita una impresora, un disco, etc. Este grupo de programas de asignación transforma las solicitudes simbólicas, hechas en el programa, en las asignaciones físicas y concretas de cada periférico.
Relanzamiento de programas: a veces, durante la ejecución de un programa en una computadora, se producen interrupciones fortuitas que causan la parada del proceso que se estaba ejecutando, o bien se interrumpe porque se están ejecutando varios procesos a la vez y se tienen que ir turnando. Este grupo de programas se encarga de establecer un punto de control en el instante de la interrupción para que se pueda reproducir el estado que tenía el proceso cuando se vuelve a reactivar. Para ello, se reestablecen los valores de cada electo en el momento de la interrupción hasta conseguir el estado de la ejecución del programa. Una vez subsanada la causa de la parada o le vuelve a tocar el turno, se pone en funcionamiento nuevamente el proceso.
Gestión de Memoria:
Un sistema operativo contiene un conjunto de programas cuya misión es la de asignar y controlar el almacenamiento en la memoria interna y externa de la computadora, fundamentalmente la interna por ser un recurso escaso y caro.
Gestión de memoria central: existe una multitud de métodos de asignación y control de la memoria central o interna según se trate de un sistema operativo monoprogramado (un solo programa en ejecución) o multiprogramado (varios programas en ejecución simultáneamente). Los programas que controlan y gestionan la memoria interna asignan los espacios que deben ocupar las programas y datos estableciendo zonas de seguridad para que no se produzcan colisiones.
Gestión de memoria simultanea: los programas de control y gestión de la memoria secundaria tienen como misión hacer ver al usuario el tratamiento de la información almacenada en la memoria externa, desde el punto de vista lógico ocultándole la realidad física.
Por otra parte, un sistema puede mantener en un mismo instante un gran numero de usuarios y procesos, y éstos pueden estar solicitando y manejando continuamente archivos en memoria externa, en ocasiones hasta compartiéndolos, y por ello será necesario la existencia de una serie de programas en el sistema operativo que nos aseguren el correcto funcionamiento del almacenamiento secundario.
Gestión de entrada/salida:
Es otra de las misiones de un sistema operativo para facilitar el uso de los distintos dispositivos externo que forman parte del sistema informático, Estos programas de de control tienen como misión gestionar las operaciones que en proceso realice sobre un dispositivo externo.
Controlan y coordinan todas aquellas operaciones relativas al movimiento de datos e informaciones en la computadora.
Control de periféricos: en esta función el procesador cuando recibe una petición de entrada/salida comprueba si el periférico está desocupado.
Control de transferencia de la información: esta transferencia se realiza de dos formas:
En modo múltiplex.
En ráfagas de bloques.
Tratamiento de cada bloque de información: cuando un bloque de información se almacena en la memoria central de una computadora, interviene un nuevo programa del sistema operativo, que se encarga de descomponer cada bloque físico para que pueda ser transferido al periférico correspondiente.
Apertura y cierre de archivos: un archivo se conecta a un programa cuando se abre, quedando desde ese momento asignado automáticamente al mismo mediante una vía o canal de datos.
Acceso a los archivos: existen diversas maneras de acceder a un archivo: secuencialmente, de forma aleatoria, entre otras.
Gestión del sistema:
Este es el verdadero motor del sistema operativo que se encarga de la coordinación y supervisión del funcionamiento del resto de programas, se le denomina supervisor.
- Protección de memoria: funcionan como fronteras de separación de memoria.
- Errores en la memoria: sirve para averiguar donde se produjo algún error de memoria y reenviar nuevamente el dato, subsanando el error sobre la marcha.
- Errores de programa: cuando hay alguna operación errónea, este grupo de programas se encarga de cancelar el programa del usuario y enviar los correspondientes mensajes sobre las características del error encontrado.
Programas de proceso
Están enfocados preferentemente para ayudar al programador en la puesta a punto de los programas. Todo sistema operativo posee en su entorno un conjunto de programas para este fin. Existen dos tipos de programas de proceso: los programas traductores y los programas de servicio.
Programas Traductores:
Son metaprogramas que toman como entrada un programa escrito en lenguaje simbólico alejado de la maquina, denominado programa fuente, y proporcionan como salida otro programa equivalente escrito en un lenguaje comprensible por el hardware de la computadora, denominado programa objeto.
Existen 3 tipos de programas traductores: los ensambladores, copiladores y los intérpretes:
Programas ensambladores: transforman programas fuente escritos en lenguajes simbólicos de bajo nivel (denominados lenguajes ensambladores).
Programas copiladores: son programas traductores encargados de transformar programas fuente escrito en lenguaje simbólico de alto nivel, en programas objeto escritos en lenguaje máquina.
Programas intérpretes: transforman programas fuente escritos en lenguaje de alto nivel en programas objeto escritos, en lenguaje máquina.
Programas de Servicio:
Son un grupo de programas que realizan funcione sutiles para el sistema o para el usuario, denominados comúnmente utilidades.
Programas de manipulación de datos: realiza las siguientes funciones:
Transferencia de informaciones.
Recodificación o transformación de informaciones.
Reorganización de la información en archivos.
Ordenación de datos en archivos, entre otras.
- Programas de servicio del sistema: generan el sistema operativo completamente sobre la computadora.
Sistemas operativos
Es, en principio, el soporte lógico que controla el funcionamiento del equipo físico o hardware haciendo que el trabajo con la computadora sea sencillo.
Desde otro punto de vista podemos definirlo como en conjunto de programas y funcionas que controlan el funcionamiento del hardware ocultando sus detalles, ofreciendo al usuario una vía sencilla y flexible de acceso a la computadora.
Por otra parte, una computadora es una máquina que posee un conjunto de elementos que denominamos recursos, que deben ser racionalmente distribuidos y utilizados, para obtener de ellos el mejor rendimiento. Estos recursos son los siguientes:
El procesador: es el lugar donde se ejecutan las instrucciones y por ello, deben comprobarse los programas que se ejecuten y su secuenciamineto.
La memoria interna: todo programa que se ejote en una computadora, así como todo dato que se desee procesar, debe resistir en la memoria interna, por lo tanto, es necesario regular su uso y ocupación.
La entrada/salida: todo programa, en general, necesita realizar operaciones de entrada/salida sobre sus unidades periféricas para el control y direccionamiento de las mismas.
La información: los datos, sus tipos, tamaños y métodos de representación tienen que estar perfectamente controlado para evitar operaciones erróneas o falsas interpretaciones.
Desde el punto de vista del control de los recursos de una computadora podemos establecer que un sistema operativo es el administrador de los recursos ofrecidos por el hardware para alcanzar un eficaz rendimiento de los mismos.