viernes, 20 de agosto de 2010

Clasificación de los sistemas operativos

0 comentarios
Podemos realizar una clasificación de los diversos sistemas operativos que existen atendiendo a varios criterios o características de estos. Estos criterios pueden ser atendiendo a las tareas, a la planificación o a la gestión de memoria.

Tareas
En este punto clasificamos los sistemas operativos atendiendo al número de tareas que puede atender simultáneamente. Tenemos dos tipos:
Monotarea: el sistema operativo solamente puede atender una tarea en un momento dado. Un ejemplo de S.O. de este tipo es MS-DOS.
Multitarea: el sistema operativo puede atender varias tareas a la vez. A su vez estas tareas pueden provenir de un único usuario o de varios usuarios, lo cual dependerá de las capacidades del sistema operativo. Dentro de los sistemasoperativos multitarea, existen los S.O. monousuario (por ejemplo, Windows NT) y multiusuario (por ejemplo, VMS y UNIX), donde el S.O. puede atender a un único usuario o a varios en la misma máquina, respectivamente.

Planificación
La planificación de un S.O. define cómo se reparte el tiempo de CPU entre los diversos procesos. Por supuesto, esto sólo tendrá sentido en S.O. multitarea donde puede ocurrir que en unmomento dado varios procesos quieran utilizar el microprocesador y como este es único, debe especificarse la política de acceso. Existen varias formas de realizar esta planificación:

Tiempo compartido (Round-Robbin): se asigna el mismo tiempo para cada
uno de los procesos.
Prioridades: cada proceso tiene asignada una prioridad y hasta que no
termina un proceso su ejecución, no se cede la CPU al siguiente. Estas
prioridades pueden ser a su vez estáticas (fijas, no se modifican) o
dinámicas (existen ciertos criterios para cambiarlas implementados en el
S.O.).
Mixtas: existe una planificación concreta a base de asignar tiempos en
función de prioridades; en el caso de que dos procesos tengan asignada la
misma prioridad, se comparte el tiempo entre los dos.

Lo habitual es tener planificación mixta, lo cual ocurre en los sistemas operativos VMS y UNIX. En estos casos, a aquellos procesos poco activos se les suele dar una prioridad máxima (por ejemplo, un editor de textos) y aquellos que exigen mucho tiempo de computación, una baja prioridad (por ejemplo, una inversión de matrices). Esto tiene sentido porque un proceso
poco activo como un editor de textos consume muy pocos recursos de CPU, es decir, dentro de un intervalo de tiempo dado, el tiempo de CPU que va a usar es muy poco ya que desde que el usuario pulsa una tecla hasta que pulsa la siguiente, el ordenador ha tenido tiempo de realizar otras muchísimas tareas. Sin embargo, sería incómodo para el usuario que desde que pulsa una tecla hasta que aparece el resultado en la pantalla, pasara mucho tiempo; esa es la razón para darle máxima prioridad. En el otro extremo están los procesos que requieren mucho tiempo de computación, es decir, mucho tiempo de acceso a la CPU, como una inversión de matrices, una integral numérica, etc. Con el objeto de no saturar la máquina con estos cálculos, y debido a que
habitualmente no existe una restricción temporal para acabar los cálculos, se le asigna una prioridad baja.

Gestión de memoria
Existen dos maneras básicas de gestionar la memoria:
• Memoria real
• Memoria virtual

El S.O. que sólo utiliza memoria real quiere decir que el único lugar donde le es posible cargar el código de un programa es en la memoria física real, es decir, en la RAM. En implementaciones de S.O. que utilizan memoria virtual, es posible hacer uso de espacio de almacenamiento en disco como si fuera memoria adicional de la que dispone el ordenador, es decir, la memoria
efectiva puede ser mayor que la real.

0 comentarios:

Publicar un comentario

redireccion