programa informático (conocido como aplicación o software), debe contar con la capacidad necesaria para realizar cierta cantidad de operaciones preparatorias que puedan garantizar el intercambio de información entre el procesador, la memoria y los recursos físicos (periféricos). ë il sistema operativo se encarga de crear el vínculo entre los recursos materiales, el usuario y las aplicaciones (procesador de texto, videojuegos, etc.).
ë Cuando un programa desea acceder a un recurso
material, no necesita enviar información específica a los dispositivos periféricos; simplemente envía la información al sistema operativo, el cual la transmite a los periféricos correspondientes a través de su driver (controlador). Si no existe ningún driver, cada programa debe reconocer y tener presente la comunicación con cada tipo de periférico. ë e esta forma, el sistema operativo permite la «disociación» de programas y hardware, principalmente para simplificar la gestión de recursos y proporcionar una interfaz de usuarios sencilla con el fin de reducir la complejidad del equipo. ë =n sistema operativo está conformado básicamente por cuatro módulos: Núcleo o Kernel Administrador de memoria Sistema de entrada/salida Administrador de archivos
ë A veces se considera un quinto módulo: el
intérprete de comandos o intérprete de instrucciones, el cual se encarga de «traducir» las ordenes que el usuario ingresa mediante el teclado u otros dispositivos a un «lenguaje» que la máquina pueda entender. ë is el módulo de más bajo nivel de un sistema operativo, pues descansa directamente sobre el hardware de la computadora. ë intre las tareas que desempeña se incluyen: il manejo de las interrupciones La asignación de trabajo al procesador Proporcionar una vía de comunicación entre los distintos programas. ë ingeneral, se encarga de controlar el resto de los módulos y sincronizar su ejecución. ë Contiene un submódulo denominado «planificador», el cual se encarga de asignar tiempo del procesador a los programas, de acuerdo a una cierta política de planificación que varía de un sistema operativo a otro.
ë =tilizauna jerarquía de prioridades que
determinan cómo se asignará el tiempo del CP= a cada programa. ë Seencarga de asignar ciertas porciones de la memoria principal (RAM) a los diferentes programas o partes de los programas que la necesitan, mientras el resto de los datos y los programas se mantienen en los dispositivos de almacenamiento masivo.
ë eeste modo, cuando se asigna una parte de
la memoria principal se hace de una forma estructurada, siguiendo un determinado orden. ë La forma más común de administración de la memoria supone crear una memoria virtual; con este sistema, la memoria de la computadora aparece, para cualquier usuario del sistema, mucho mayor de lo que en realidad es. ë iste componente presenta al usuario la i/S de datos como una cuestión independiente del dispositivo; es decir, para los usuarios, todos los dispositivos tienen las mismas características y son tratados de la misma forma, siendo el sistema operativo el encargado de atender las particularidades de cada uno de ellos (como su velocidad de operación). ë Se encarga de mantener la estructura de los datos y los programas del sistema y de los diferentes usuarios (que se mantienen en archivos) y de asegurar el uso eficiente de los medios de almacenamiento masivo. ë Supervisa la creación, actualización y eliminación de los archivos, manteniendo un directorio con todos los archivos que existen en el sistema en cada momento y coopera con el módulo administrador de memoria durante las transferencias de datos desde y hacia la memoria principal. ë Las características deseables más importantes de un sistema operativo son: Permitir la concurrencia de procesos, traslapándose en el tiempo de entrada/salida (i/S) con el de cálculo y ocupando la memoria con varios programas. Posibilitar la ejecución de cualquier proceso en el momento que se solicite siempre y cuando haya suficientes recursos libres para él. Ser eficiente en cuanto a reducir: el tiempo medio que ocupa cada trabajo, el tiempo que no se usa el CP=, el tiempo de respuesta en sistemas multiacceso y el plazo entre dos asignaciones de CP= a un mismo programa. Ser eficiente en cuanto a aumentar la utilización de recursos en general, tales como memoria, procesadores, dispositivos de i/S, discos magnéticos, datos, etc.
Ser fiable, es decir, un sistema operativo no debe
tener errores y debe prever todas las posibles situaciones.
Ser de tamaño pequeño.
Posibilitar y facilitar en lo posible el «diálogo»
entre computadora y usuario de la misma.
Permitir compartir entre varios usuarios los
recursos de hardware con que cuenta una computadora. Permitir a los usuarios compartir datos entre ellos, en caso necesario.
Facilitar la i/S de los diferentes dispositivos
conectados a una computadora. ë Las funciones más importantes que debe cumplir un sistema operativo son las siguientes: Aceptar los trabajos y conservarlos hasta su finalización. etectar errores y actuar de modo apropiado en caso de que se produzcan. Controlar las operaciones de i/S. Controlar las interrupciones. Planificar la ejecución de tareas. intregar recursos a las tareas. Retirar recursos de las tareas. Proteger la memoria contra el acceso indebido de los programas. Soportar el mutiacceso. Proporcionar al usuario un sencillo manejo de todo el sistema. Aprovechar los tiempos muertos del procesador. Compartir los recursos de la máquina entre varios procesos al mismo tiempo. Administrar eficientemente el sistema de cómputo como un todo armónico. Permitir que los diferentes usuarios se comuniquen entre sí, así como protegerlos unos de otros. Permitir a los usuarios almacenar información durante plazos medianos o largos. ar a los usuarios la facilidad de utilizar de manera sencilla todos los recursos, facilidades y lenguajes de que dispone la computadora. Administrar y organizar los recursos de que dispone una computadora para la mejor utilización de la misma, en beneficio del mayor número posible de usuarios. Controlar el acceso a los recursos de un sistema de computadora. ë ebido a la evolución de los sistemas operativos fue necesario realizar una clasificación; considerando las diferencias existentes entre sus componentes los podemos clasificar en:
Sistemas operativos por lotes
Sistemas operativos multiprogramación Sistemas operativos multiusuario Sistemas operativos de tiempo compartido Sistemas operativos de tiempo real ë Los sistemas operativos por lotes requieren que la información esté reunida en bloques o «lotes» (el programa, los datos y las instrucciones).
ë Los trabajos son procesados en el orden de
admisión, según el modelo de «primero en llegar, primero en ser atendido». ë inestos sistemas la memoria se divide en dos zonas: una es ocupada por el sistema operativo, y la otra se usa para cargar programas transitorios para su ejecución.
ë Cuando termina la ejecución de un programa
se carga un nuevo programa en la misma zona de memoria. ë Los sistemas de multiprogramación son capaces de soportar dos o más procesos concurrentes múltiples, permiten que residan al mismo tiempo en la memoria primaria las instrucciones y los datos procedentes de dos o más procesos.
ë istos sistemas implican la operación de
multiproceso, para el manejo de la información. ë Secaracterizan principalmente por un gran número de programas activos simultáneamente que compiten por los recursos del sistema, como el procesador, la memoria y los dispositivos de i/S.
ë istossistemas monitorean el estado de todos
los programas activos y recursos del sistema. ë Los sistemas operativos multiusuario permiten acceder simultáneamente a un sistema de computadoras a través de dos o más terminales.
ë iste tipo de sistema operativo es
fundamental en el manejo de redes de computadoras actualmente. ë Los sistemas operativos de tiempo compartido tratan de proporcionar un reparto equitativo de los recursos comunes para dar la impresión a los usuarios de que poseen una computadora independiente.
ë in estos sistemas el administrador de
memoria proporciona aislamiento y protección de los programas, ya que generalmente no tienen necesidad de comunicarse entre ellos. ë il control de i/S se encarga de proporcionar o retirar la asignación a los dispositivos de forma que se preserve la integridad del sistema y se proporcione servicio a todos los usuarios.
ë il administrador de archivos proporciona
protección y control en el acceso de la información, dada la posibilidad de concurrencia y conflictos al tratar de acceder a los archivos. ë istos sistemas tienen como objetivo proporcionar tiempos más rápidos de respuesta, procesar la información sin tiempos muertos.
ë in estos sistemas el administrador de
memoria es relativamente menos solicitado debido a que muchos procesos residen permanentemente en la memoria. ë il administrador de archivos se encuentra normalmente en grandes sistemas de tiempo real y su objetivo principal es manejar la velocidad de acceso, más que la utilización eficaz del almacenamiento secundario.