Funciones
y Características de un Sistema Operativo
Funciones
|
Se tendrá
como punto de partida la máquina tal cual, es decir, el hardware básico del
computador, con una CPU, memoria central y periféricos. Sin ayuda del
software las operaciones de cargar y ejecutar un programa se debe realizar de
forma manual, es decir totalmente bajo control humano. El operador debe
llevar a cabo una secuencia de tareas:
- Colocar
el programa fuente almacenado en el dispositivo de entrada adecuado
(cintas, tarjetas, discos...).
- Desencadenar
la ejecución de un programa de lectura para el dispositivo elegido.
- Desencadenar
la ejecución de un compilador que traduzca el programa fuente.
- Colocar
los datos de entrada en el dispositivo adecuado.
- Ejecutar el programa objeto.
- Sacar
los resultados por impresora.
|
Tipos de Servicios
|
Un sistema
operativo crea un entorno para la ejecución de programas. Ofrece ciertos
servicios a los programas y a los usuarios de estos programas. Dependen del
tipo de Sistema Operativo, pero las funciones básicas son:
|
|
De cara al usuario:
- Ejecución
de programas. El sistema debe ser capaz de cargar un programa en memoria
y ejecutarlo.
- Operación
de I/O. Un programa de usuario no puede ejecutar directamente
operaciones de I/O. El sistema operativo debe facilitar medios para
realizarla.
- Manipulación
de ficheros: Lectura, escritura y borrado a partir del identificador de
los mismos.
- Detección
de errores: Para cada tipo de error el sistema operativo debe adoptar la
iniciativa apropiada que garantice una computación correcta y
consistente. No confundir esta detección de errores con la producida
durante la compilación de un programa. Esta detección se hace de cara a
un funcionamiento eficiente.
|
|
De funcionamiento
eficiente:
- Asignación de recursos.
- Contabilidad:
control del uso del ordenador por cada usuario.
- Protección:
de datos, recursos, programación, etc.
|
Características
de un Sistema Operativo
|
1.
|
Concurrencia.
|
|
Consiste en
la existencia de varias actividades simultáneas o paralelas. Ejemplo de
ello lo son la superposición de las operaciones de I/O con el proceso de
computación, así como la coexistencia en memoria de varios programas. La
concurrencia lleva asociado el problema de conmutar de una tarea a otra,
así como proteger una determinada actividad de los efectos de las otras,
así como la sincronización de tareas que sean mutuamente dependientes.
|
2.
|
Utilización
conjunta de recursos. Compartición.
|
|
Las razones para la compartición son las siguientes:
a)
|
El coste: es absurdo disponer de
suficientes recursos para cada usuario por separado.
|
b)
|
Aprovechamiento de los trabajos de otros. La
utilidad es poder utilizar rutinas y programas desarrollados por otras
personas.
|
c)
|
Posibilidad de compartir datos:
Utilización de una misma base de datos para varios programas distintos,
asociados posiblemente a distintos usuarios.
|
d)
|
Eliminación de redundancias: poder
disponer de una sola copia de un programa (por ejemplo un compilador) y
compartirlo con otros.
|
|
3.
|
Permite que
el usuario guarde sus datos o programas en el propio ordenador, y no tener
que usar medios externos (portables). Los problemas que se plantean son de
protección de la información frente a terceros y protegerlos frente a
fallos del sistema.
|
4.
|
Un Sistema
Operativo debe ser determinista en el sentido de que el mismo programa
ejecutado con los mismos datos, en momentos diferentes, debe producir los
mismos resultados. En cambio será indeterminista porque en caso de
variabilidad de las situaciones puede responder de un modo impredecible.
Deben tomarse las medidas oportunas. Estas situaciones pueden ser debidas a
petición de recursos, errores de ejecución en programas o bien interrupción
de periféricos.
|
|
Características
Deseables en un Sistema Operativo
|
Eficiencia
Se juzgará la
eficiencia de un Sistema Operativo mediante los siguientes criterios:
a)
|
Tiempo transcurrido entre
tareas.
|
b)
|
Tiempo no
empleado del procesador central.
|
c)
|
Tiempo de
ejecución empleado en las tareas batch.
|
d)
|
Tiempo de
respuesta (en los sistemas de acceso múltiple).
|
e)
|
Utilización de recursos.
|
f)
|
Rendimiento
(tareas ejecutadas por hora).
|
|
|
Fiabilidad
Estar libre de errores y ser capaz de resolver
satisfactoriamente todas las contingencias que se pudieran presentar.
|
|
Mantenibilidad
Ser posible corregir un Sistema Operativo (mejorándolo,
o bien subsanando errores) sin tener graves problemas. Estar bien documentado.
|
|
Tamaño reducido
El espacio ocupado por el Sistema
Operativo no está disponible para su utilización productiva, por lo que debe
ocupar lo menos posible. Para ello es preciso que el sistema operativo sea
modular en su construcción. Disponer de interfaces claramente definidas en
módulos y estar bien documentado.
|
Prestación de Servicios
|
Llamada al sistema:
Los servicios de más bajo nivel se obtiene mediante el uso de llamadas al
sistema, Constituyen un interfaz entre el programa que se está ejecutando y
el sistema operativo. Estas llamadas están implementadas generalmente por
instrucciones en lenguaje ensamblador. Se
dividen en cuatro clases:
- Control de procesos: Sirven para poder detener
un programa normal o anormalmente. También se utilizan para cargar y
ejecutar otros procesos. Un ejemplo son los J.C.L..
- Manipulación de ficheros: Crean, abren, borran,
cierran, leen, escriben y reposicionan ficheros. Obtienen y establecen
atributos de ficheros.
- Manipulación de dispositivos: Solicitud y liberación de
dispositivos. Leen, escriben y reposicionan ficheros. Obtienen y
establecen atributos de dispositivos.
- Mantenimiento de la
información: Obtener y establecer hora y
fecha. Obtener y modificar datos del sistema. Obtener y establecer
atributos de proceso, fichero o dispositivo.
|
No hay comentarios:
Publicar un comentario