Está en la página 1de 73

ICO 701-8 y 801-9

Ing. Gabriel Hernández


OBJETIVO
Al finalizar el curso, el alumno será capaz de identificar cada uno de los
elementos que integran un sistema operativo independientemente de la
plataforma en la que se trabaje además de distinguir los diferentes tipos
de procesos que el sistema operativo gestiona.
CONCEPTOS BÁSICOS
INTRODUCCIÓN
El sistema operativo es el principal programa que se ejecuta en toda computadora de
propósito general. Los hay de todo tipo, desde muy simples hasta muy complejos, y
entre más casos de uso hay para el cómputo en la vida diaria, más variedad habrá
en ellos.

A lo largo del presente curso, no se hace referencia al sistema operativo como lo ve


o usa el usuario final, o como lo vende la mercadotecnia (el ambiente gráfico, los
programas que se ejecutan en éste, los lenguajes de programación en los cuales
están desarrollados), mas bien se trata de entender su estructura interna, que
elementos lo componen, cuales son sus funciones, etc.
¿PORQUÉ ESTUDIAR LOS SISTEMAS
OPERATIVOS?
La importancia de estudiar este tema radica no sólo en comprender los mecanismos
que emplean los sistemas operativos para cumplir sus tareas sino en entenderlos
para evitar los errores más comunes al programar, que pueden resultar desde un
rendimiento deficiente hasta pérdida de información.

Como desarrolladores, comprender el funcionamiento básico de los sistemas


operativos y las principales alternativas que ofrecen en muchos de sus puntos, o
saber diseñar algoritmos y procesos que se ajusten mejor al sistema operativo en
que vayan a ejecutarse, puede resultar en una diferencia cualitativa decisiva en el
producto final.
VISIONES PARA DEFINIR UN SISTEMA OPERATIVO
Máquina extendida o virtual: (Perspectiva descendente)
• presenta una abstracción del Hardware subyacente más
sencilla y fácil de usar, ocultando sus peculiaridades.
• presta una variedad de servicios que los programas utilizan mediante
instrucciones especiales como las llamadas al sistema.
Las maquinas virtuales de sistema, también llamadas máquinas virtuales de
hardware, permiten a la máquina física subyacente multiplicarse entre varias
maquinas virtuales, cada una ejecutando su propio sistema operativo. A la capa
software que permite la virtualización se le llama monitor de máquina virtual. Un
monitor de maquina virtual puede ejecutarse o bien directamente sobre el hardware o
bien sobre un sistema operativo.
Programas:
Software de Aplicación
Lenguajes de programación
• Java
* VB

JVM
Software de base S.O.

Hardware
VISIONES PARA DEFINIR UN SISTEMA OPERATIVO
Máquina extendida o virtual
VISIONES PARA DEFINIR UN SISTEMA OPERATIVO
Administrador o controlador de recursos: (Perspectiva ascendente)
• administra todos los elementos de la computadora.
• reparte ordenada y controladamente los elementos
del sistema entre los programas que los solicitan.
HISTORIA Y EVOLUCIÓN
Primera Generación (1945 – 1955)
• No existían los sistemas operativos
• Uso de tarjetas perforadas
• Instrucción por instrucción
• Lenguaje de máquina

Segunda Generación (1955 – 1965)


• Surgen los primeros S.O.
• Solo permitían transferir
el control de un trabajo
al siguiente.
• Procesamiento por lotes: Autoexec.bat
OPERACIÓN FUERA DE LÍNEA
HISTORIA Y EVOLUCIÓN
Tercera Generación (1965 – 1980)

• Multitarea (tiempo compartido)


• Multiprogramación (varios trabajos en memoria)
• Nace UNIX

Cuarta Generación (1980 – Actualidad)


DEFINICIÓN

Un sistema operativo es un conjunto de programas o software


destinado a permitir la comunicación del usuario con una
computadora y gestionar sus recursos de manera cómoda y
eficiente. Comienza a trabajar cuando se enciende la
computadora, y gestiona el hardware de la máquina desde los
niveles más básicos.

Otra definición posible y bastante aceptada define un sistema


operativo como una capa compleja entre el hardware y el
usuario, concebible también como una máquina virtual, que
facilita al usuario o al programador las herramientas e
interfaces adecuadas para realizar sus tareas informáticas,
abstrayéndole de los complicados procesos necesarios para
llevarlas a cabo sin preocuparnos por la disposición de los
bits en el medio físico, los tiempos de espera del motor del
disco, la posición de un cabezal, el acceso de otros
usuarios, etc.
DEFINICIÓN

Hoy en día un sistema operativo se puede encontrar


normalmente todos los aparatos electrónicos complejos que
podamos utilizar, ya que gracias a estos podemos entender la
máquina y que ésta cumpla con sus funciones; éste es el
caso de: teléfonos móviles, reproductores de DVD, auto
estéreos, y muchos más.
Sistema operativo: Conjunto de programas (comandos) que
permiten interactuar al usuario con una computadora.

interacción

(una influencia
computadora
reciproca)
usuario
Realizar una presentación en la que describa y defina los siguientes
conceptos:

1. ¿Qué es un Comando ?
2. ¿Cuántos tipos de comandos existen ?, son 2 (internos y
externos), defina y explique cada uno de ellos
3. ¿Características y diferencias entre ellos ?
4. ¿Qué sucede cuando el usuario presiona el botón de “Encender” en
una computadora ? (respecto al sistema operativo)

No olvide complementar su presentación con imágenes descriptivas


en cada respuesta.
POST

El sistema operativo es en sí mismo un programa, pero un programa


muy especial y quizá el más complejo e importante.
Cuando se conecta una computadora se carga parte del S.O. en la
memoria y se ejecuta. El S.O. despierta a la computadora y hace
que reconozca a la CPU, la memoria, las unidades de disco y
cualquier otro dispositivo conectado a ella como el teclado, el
ratón, la impresora, etc., verificando así que no existen errores
de conexión y que todos los dispositivos se han reconocido y
trabajan correctamente. A este primer diagnóstico se le denomina
Post (Power on Self Test).

Este chequeo lo hace el S.O. conjuntamente con el BIOS del sistema.


POST

El sistema operativo es en sí mismo un programa, pero un programa


muy especial y quizá el más complejo e importante.
Cuando se conecta una computadora se carga parte del S.O. en la
memoria y se ejecuta. El S.O. despierta a la computadora y hace
que reconozca a la CPU, la memoria, las unidades de disco y
cualquier otro dispositivo conectado a ella como el teclado, el
ratón, la impresora, etc., verificando así que no existen errores
de conexión y que todos los dispositivos se han reconocido y
trabajan correctamente. A este primer diagnóstico se le denomina
Post (Power on Self Test).

Este chequeo lo hace el S.O. conjuntamente con el BIOS del sistema.

La información se encuentra grabada en una pequeña memoria ROM


denominada CMOS (Complementary Metal-Oxide Semiconductor –
Semiconductor de óxido-metal complementario)
LA BIOS
LA BIOS
La BIOS (Sistema Básico de Entrada/Salida) es un software que
inicializa y comprueba todos los componentes de hardware durante
el arranque de la máquina. También prepara el equipo para que el
Sistema Operativo se cargue y se ejecute. Su nombre viene de las
siglas en inglés Basic Input Output System.

A este software se le llama firmware y está grabado en un chip


de memoria llamado CMOS de la placa base de todos los
dispositivos. Ahí es donde se encuentra la BIOS.
Esa memoria se mantiene con una pequeña pila. Consume tan poca
energía que es muy raro tener que cambiarla en toda la vida útil
del ordenador. De hecho, en muchos ordenadores portátiles está
soldada a la placa base.
LA BIOS

La BIOS (Basic Input/Output System) es el software que contiene la


información básica para que una computadora pueda arrancar.

La BIOS está grabada en un pequeño chip de memoria situado en la


tarjeta madre. En las computadoras antiguas no era posible borrar
esta información, sino tan sólo leerla.

Por eso recibe también el nombre de ROM, y a menudo aparece en


libros y manuales como ROM-BIOS.

Luego del Post la BIOS configura los componentes del equipo.


Por ejemplo, adjudica las interrupciones a las tarjetas de
expansión. Después, la PC emite un tono para indicar que no hay
fallos.

Por último, la BIOS se dirige al sector MBR e inicia la carga del


sistema operativo.
LA BIOS

• Interrupción. Cuando un dispositivo requiere atención por parte


del microprocesador, envía una señal para indicar al sistema que
necesita recibir datos, o que hay datos en el buffer esperando
para ser leídos. Se les llama interrupciones.
Cada dispositivo tiene su propia línea de interrupción,
identificada mediante un número. Las solicitudes de interrupción
son las IRQ’s.

• Sector MBR. Es normalmente, el primer sector de la primera


partición del disco duro de la computadora, y al que esté se
dirige primero al arrancar. En él ejecuta el Master Boot Record
(MBR – Registro de Arranque Maestro), que le indica en que
partición se encuentra el sistema operativo con el que va a
arrancar.

• Memoria caché. Tipo de memoria especialmente rápida. Suele ser


empleada para almacenar los datos que el procesador emplea mas
frecuentemente, acelerando el acceso a los mismos.
FUNCIONES DEL
SISTEMA
OPERATIVO
FUNCIONES DEL SISTEMA OPERATIVO

Las principales funciones que realiza todo sistema operativo


son las siguientes:

• Control de la ejecución de los programas. Acepta los trabajos


y gestiona la forma como se realizan, les asigna recursos y los
conserva hasta su finalización.
• Administración de los periféricos. Coordinando y manipulando
los dispositivos conectados a la computadora .
• Gestión de permisos de usuario. Adjudica los permisos de
acceso a los usuarios y evita que las acciones de uno afecten el
trabajo que esta realizando el otro.
FUNCIONES DEL SISTEMA OPERATIVO

Las principales funciones que realiza todo sistema operativo


son las siguientes:
• Control de concurrencia. Establece prioridades cuando
diferentes procesos solicitan el mismo recurso.
• Control de errores. Gestiona los errores de Hardware y la
pérdida de datos.
• Administración de memoria. Asigna memoria a los procesos y
gestiona su uso.
• Control de seguridad. Debe proporcionar seguridad tanto
para los usuarios como para el Software y la información
almacenada en los sistemas.
FUNCIONES DEL SISTEMA OPERATIVO

En concordancia con las funciones principales, es posible


analizar la estructura de un S.O. en cinco niveles. Los
primeros dos niveles entrarían en la parte del S.O.
dependiente del Hardware, el resto de los niveles pertenecen
a la parte portable del mismo.

• Nivel 1: Gestión del procesador. En este nivel se encuentra


la parte del S.O. encargada de la gestión de la CPU. En los
S.O. multiproceso, este nivel se encarga de compartir la
CPU entre los distintos procesos realizando funciones de
sincronización, conmutación de la CPU y gestión de
interrupciones.
FUNCIONES DEL SISTEMA OPERATIVO

• Nivel 2: Gestión de memoria. Este nivel es el encargado de


repartir la memoria disponible entre los procesos. Se
realizan funciones de asignación y liberación de memoria.

• Nivel 3: Gestión de Procesos. Este nivel es el encargado de


la creación y destrucción de los procesos, intercambio de
mensajes y detección de arranque de los mismos.
FUNCIONES DEL SISTEMA OPERATIVO

• Nivel 4: Gestión de dispositivos. En este nivel se realiza


la gestión de las Entradas/Salidas en función de los
dispositivos existentes.

• Nivel 5: Gestión de la información. El objetivo de este


nivel es el de gestionar el espacio de nombres lógicos,
utilizado para simplificar el acceso a los recursos, ya que
mediante estos se sustituyen rutas de acceso que pueden ser
muy largas y difíciles de recordar por un solo nombre.
RELACION ENTRE LAS PARTES DEL SW Y HW

En el siguiente esquema se muestra la diferencia de las


partes independientes y dependientes del hardware dentro del
S.O.

aplicaciones

Parte independiente
Del HW
S.O.
Parte dependiente
Del HW

Hardware

x
COMPONENTES DEL
SISTEMA
OPERATIVO
COMPONENTES DEL SISTEMA OPERATIVO

En un S.O. se distinguen los siguientes componentes:

x
COMPONENTES DEL SISTEMA OPERATIVO

Kernel

El Kernel es el núcleo del S.O., cuando arranca la


computadora, se carga en memoria y permanece ahí, realizando
funciones básicas como manejo de memoria, Control de
interrupciones, Control de periféricos, entre otros.

Se suele llamar Kernel al software del S.O. que reside


permanente en memoria y que atiende las llamadas al sistema y
demás eventos básicos
COMPONENTES DEL SISTEMA OPERATIVO

Gestión de procesos

Un proceso es un programa en ejecución. Para poder


ejecutarse, un proceso necesita tiempo de CPU, una porción de
memoria, archivos, E/S y demás recursos.

Responsabilidades del S.O.:

• Creación y eliminación de procesos.


• Planificación de procesos: repartir la CPU entre los
procesos activos.
• Sincronización entre procesos.
• Comunicación entre procesos.
COMPONENTES DEL SISTEMA OPERATIVO

Gestión de memoria

La memoria es un recurso escaso por el que compiten los


distintos procesos.

Responsabilidades del S.O.:

• Conocer qué zonas de memoria están libres y cuáles están


ocupadas.
• Decidir qué procesos hay que cargar cuando haya memoria
libre.
• Reservar y liberar zonas de memoria según se solicite.
• Memoria virtual: utilizar el almacenamiento secundario
como una extensión de la memoria principal.
COMPONENTES DEL SISTEMA OPERATIVO

Gestión de la E/S

La E/S es un conjunto de dispositivos muy variados


y complejos de programar.

Objetivos del S.O.:

• Proporcionar una interfaz uniforme para el acceso a los


dispositivos (independencia del dispositivo).
• Proporcionar manejadores para los dispositivos concretos.
• Tratar automáticamente los errores más típicos.
• Para los dispositivos de almacenamiento, utilizar cachés
• Para los discos, planificar de forma óptima las
peticiones
COMPONENTES DEL SISTEMA OPERATIVO

Sistema de Archivos

Un archivo es un conjunto de datos identificado por un


nombre. Los archivos se almacenan en dispositivos de E/S. Un
archivo es un concepto de alto nivel que no existe en el
hardware.

Funciones del S.O.:


• Manipulación de archivos: crear, borrar, leer,
escribir...
• Manipulación de directorios
• Ubicar los archivos y directorios en los dispositivos de
almacenamiento secundario
• Automatizar ciertos servicios: copia de seguridad,
versiones, etc.
COMPONENTES DEL SISTEMA OPERATIVO

Sistema de Protección

La protección abarca los mecanismos destinados a controlar el


acceso de los usuarios a los recursos, de acuerdo con los
privilegios que se definan.

Objetivos del S.O.:

• Definir el esquema general de protección: clases de


usuarios, clases de permisos/privilegios, etc.
• Definir mecanismos de acceso a los recursos: contraseñas,
llaves, capacidades, etc.
• Controlar el acceso a los recursos, denegando el acceso
cuando no esté permitido.
COMPONENTES DEL SISTEMA OPERATIVO

Redes

En un sistema distribuido, existen varias computadoras con


sus propios recursos locales (memoria, archivos, etc.),
conectados mediante una red.

Objetivos del S.O.:

• proporcionar primitivas para conectarse con equipos


remotos y acceder de forma controlada a sus
recursos: primitivas de comunicación (enviar y
recibir datos) sistema de ficheros en red (ej. NFS)
llamada remota a procedimiento (RPC) etc.
COMPONENTES DEL SISTEMA OPERATIVO
Intérprete de
Intérprete de comandos comandos

Para que un usuario pueda dialogar directamente con el S.O.,


se proporciona una interfaz de usuario básica para:

• Cargar programas
• Abortar programas
• Introducir datos a los programas
• Trabajar con archivos
• Trabajar con redes

Ejemplos:
• COMMAND.COM en MS-DOS, shell en UNIX
COMPONENTES DEL SISTEMA OPERATIVO

El intérprete de comandos y el cargador

Vamos a describir un programa cargador que se almacena en el


sector de arranque de un dispositivo de almacenamiento que
posea un sistema de archivos.

Sus funciones serán las de cargar en una posición determinada


de memoria el código del sistema operativo, establecer un
entorno de ejecución adecuado para dicho sistema operativo,
cargando en ciertos registros del procesador
valores adecuados, y ceder el control de la CPU al sistema
operativo cargado.
COMPONENTES DEL SISTEMA OPERATIVO

El intérprete de comandos y el cargador


(Arranque de la computadora)

Cuando se arranca una computadora, su propio hardware


comprueba la presencia de una serie de dispositivos que son
esenciales para el funcionamiento del sistema. Al analizar
todas las comprobaciones el hardware carga en memoria el
contenido del primer sector («sector de arranque») de un
disco y le cede el control de la CPU.

A partir de ese momento lo que haga la computadora dependerá


del programa almacenado en dicho sector de arranque.

x
COMPONENTES DEL SISTEMA OPERATIVO

Diferencias entre un sistema Operativo de 32 y de 64 bits

Lo primero que hay que tener muy en cuenta es que para


instalar un sistema operativo de 64 bits hay que tener un
procesador de 64 bits y una tarjeta madre que lo admita.
Actualmente quedan en el mercado muy pocos procesadores que
sean de 32 bits, solo algunos de gama baja.
COMPONENTES DEL SISTEMA OPERATIVO

Ventajas de los Sistemas Operativos de 64 bits

La principal de todas es que las versiones de 64 bits


soportan mucha más memoria (tanto RAM como virtual) que las
versiones de 32 bits.

Todos los sistemas operativos de 32 bits tienen un límite en


la memoria RAM de 4Gb (que además, en el caso de Windows, no
suelen aprovecharse completos). Esto en realidad para uso
doméstico no es un gran obstáculo, ya que no es habitual
instalar esa cantidad de memoria.

Las versiones de 64 bits no tienen ese límite, por lo que


podemos instalar bastante más memoria.
COMPONENTES DEL SISTEMA OPERATIVO

Ventajas de los Sistemas Operativos de 64 bits

La cantidad máxima de RAM soportada por las versiones de 64


bits de Windows son las siguientes:

Windows XP Profesional 64 bits.- 16Gb de memoria RAM.


Windows Vista Home Basic 64 bits.- 8Gb de memoria RAM.
Windows Vista Home Premium 64 bits.- 16Gb de memoria RAM.
Windows Vista (Resto de versiones) de 64 bits.- 128Gb de
memoria RAM.

Como podemos ver, las cantidades de RAM son bastante mayores.


Además de esta ventaja en la RAM, los sistemas operativos de
64 bits son algo más rápidos que los de 32 bits, más estables
y más seguros.
COMPONENTES DEL SISTEMA OPERATIVO

Desventajas de los Sistemas Operativos de 64 bits

- No son compatibles con programas de 16 bits o inferiores.


- Algunos programas (como algunos antivirus, algunos
programas de grabación y similares), aunque son programas
de 32 bits no son compatibles con Windows Vista 64 bits.
- Hay problemas de drivers para 64 bits.
- Los SO de 64 bits son más caros que los de 32 bits (aunque
la diferencia de precio no es muy grande). En cuanto al
sistema en sí (manejo, utilidades, etc.) son exactamente
iguales a las versiones de 32 bits correspondientes.
- Hay que dejar bien claro otro punto: Un programa de 32
bits va a correr EXACTAMENTE IGUAL en un sistema operativo
de 64 bits que en uno de 32 bits, por lo que en este
aspecto no vamos a notar ninguna mejora.
PROCESOS
PROCESOS

Procesos & Flujos

Un proceso es un concepto manejado por el sistema operativo y


que referencia un programa en ejecución.
A los procesos, dependiendo especialmente del sistema
operativo utilizado, se les denomina flujos de control,
tareas, threads o hilos, según el contexto.

Cuando se ejecuta más de un proceso de forma concurrente en


un sistema, todos necesitan que el propio sistema les
suministre una serie de recursos. Para ello, el sistema
operativo, gracias a la CPU, se encarga de asignar estos
recursos en un orden adecuado y atendiendo a unas
prioridades. También realiza funciones de sincronización de
todos los procesos, para que se ejecuten en el orden adecuado
y según la prioridad decidida.
PROCESOS

Procesos & Flujos

Cada vez que un programa se convierte en proceso, es decir,


cada vez que se ejecuta un programa, además de ubicar en
memoria las instrucciones que lo componen y sus datos
asociados, a dicho proceso se le asocia una estructura de
datos. Esta estructura de datos, que es única para cada
proceso, identifica el proceso respecto de los demás y sirve
para controlar su correcta ejecución. Es lo que se llama el
bloque de control del proceso o BCP, y contendrá para cada
proceso la siguiente información:

estado actual del proceso, identificador del proceso,


prioridad del proceso, ubicación en memoria y recursos
utilizados.
PROCESOS

Hebras y Estados de los procesos

Una hebra es un punto de ejecución de un proceso. Un proceso


tendrá siempre una hebra, en la que corre el propio programa,
pero puede tener más hebras.

Las hebras representan un método software


para mejorar el rendimiento y eficacia
de los sistemas operativos. Las hebras de
un mismo proceso compartirán recursos,
como memoria, archivos, recursos hardware,
etc.
PROCESOS

Hebras y estados de los procesos

Un proceso clásico será aquel que solo posea una hebra.


Pongamos un ejemplo. Si ejecutamos Word, con un solo
documento abierto, el programa Word convertido en proceso
estará ejecutándose en un solo espacio de memoria, tendrá
acceso a determinados archivos (galería de imágenes,
corrector ortográfico, etc.) tendrá acceso al hardware
(impresora, unidades ópticas, etc.). En definitiva este
proceso, de momento, solamente tiene una hebra.
PROCESOS

Hebras y estados de los procesos

Si en esta situación, sin cerrar Word, abrimos un nuevo


documento, Word no se vuelve a cargar como proceso,
simplemente el programa convertido en proceso, tendrá a su
disposición dos hebras o hilos diferentes, de tal forma que
el proceso original sigue siendo el mismo.

Word se esta ejecutando una sola vez y el resto de documentos


de texto que abramos en esta misma sesión de trabajo no serán
procesos propiamente dichos. Serán hilos o hebras del proceso
principal, Word.
PROCESOS

Estados posibles de un proceso

Básicamente los estados posibles de un procesos, son los


siguientes:

1. En ejecución.

El procesador esta ejecutando instrucciones del programa que


lo compone y tiene concedido el tiempo de uso de la CPU en un
instante concreto.
PROCESOS

Estados posibles de un proceso

2. Preparado, en espera o activo

Un proceso esta preparado para ser ejecutado; es decir, esta


esperando turno, para poder utilizar su intervalo de tiempo y
poner en funcionamiento sus instrucciones accediendo a los
recursos del sistema.
PROCESOS

Estados posibles de un proceso

3. Bloqueado

El proceso esta retenido; es decir, esta bloqueado debido a


causas múltiples. Una de estas causas puede ser que dos
procesos utilicen el mismo archivo de datos. Otra puede ser
que dos procesos necesiten utilizar la misma unidad óptica
(CD, DVD, BR) para cargar determinados datos.
PROCESOS

En general, todos los procesos dentro de cualquier sistema


operativo tienen unas características que los identifican. En
primer lugar, indicaremos que cada programa en ejecución, es
decir, cada proceso, tiene un identificador que los
discrimina de los demás. Cada proceso tiene un número
asignado por el sistema operativo que le sirve precisamente
para identificarlo, ejecutarlo, detenerlo, cancelarlo,
reanudarlo, etc. Este identificador de proceso se llama PID
(Código Identificador de Proceso).
PROCESOS

Transiciones

Los cambios de estado en los que se puede encontrar un


proceso se denominan Transiciones.

Transición A. Ocurre cuando el programa que esta en


ejecución, necesita algún elemento, señal, dato, etc. Para
poder continuar ejecutándose.

Transición B. Ocurre cuando un programa o proceso ha


utilizado el tiempo asignado por la CPU (Procesador) para su
ejecución y tiene que dejar pasar el siguiente proceso.

Transición C. Ocurre cuando el proceso que esta preparado


pasa al proceso de ejecución, es decir, cuando al proceso le
llega una nueva disposición de tiempo de la CPU para poder
ejecutarse.
PROCESOS
PROCESOS

Transiciones

Transición D. Ocurre cuando el proceso pasa de estar


bloqueado a estar preparado, es decir, cuando el proceso
recibe una orden o señal, que estaba esperando para pasar al
estado de preparado y, posteriormente, tras la transición, a
estado de ejecución.
PROCESOS

Transiciones

Transición D. Ocurre cuando el proceso pasa de estar


bloqueado a estar preparado, es decir, cuando el proceso
recibe una orden o señal, que estaba esperando para pasar al
estado de preparado y, posteriormente, tras la transición, a
estado de ejecución.
CLASIFICACIÓN
DE LOS
SISTEMAS
OPERATIVOS
CLASIFICACIÓN DE LOS S.O.

Según la perspectiva con la que se observen los S.O., pueden


realizarse múltiples clasificaciones. Entre ellas se pueden
incluir las siguientes:

Por su estructura interna


Esta clasificación tiene en cuenta cómo se diseñan los
sistemas operativos a la hora de ser creados. Hay que tener
en cuenta que, en la mayoría de los casos, estas concepciones
de diseño no se aplican aisladas, sino que puede haber
interrelación entre ellas.

• Monolíticas. Es la estructura utilizada en los primeros


sistemas operativos en la que todas las funciones se
implementaban en el Kernel. Este sistema operativo está
constituido por un único programa compuesto de una multitud
de rutinas interrelacionadas entre si, de forma que cada
una de ellas pueda llamar a cualquier otra.
CLASIFICACIÓN DE LOS S.O.

• Por capas. A medida que los sistemas operativos fueron


creciendo, fue necesaria una mayor estructuración.
Este diseño se corresponde con una estructura jerárquica que
se divide en distintos niveles (funciones del sistema
operativo).

• Máquina virtual. Se trata de un tipo de sistemas operativos


que presenta una interfaz a cada proceso, mostrando una
máquina que parece idéntica a la máquina real subyacente.
CLASIFICACIÓN DE LOS S.O.

Por los modos de explotación


Los modos de explotación se corresponden con las distintas
maneras en que puede funcionar un sistema operativo. Dentro
de ellas se encuentran las siguientes:

• Procesamiento por lotes. Este modo de explotación se


caracteriza por la agrupación en bloques de los trabajos
similares. El rasgo mas característico de este tipo de
sistema operativo es la ausencia de interacción entre el
usuario y el proceso mientras se ejecuta.

• Multiprogramación. En este modo de explotación, el sistema


operativo se encarga de distribuir la carga computacional
entre los procesadores existentes (monoprocesador o
multiprocesador), con el fin de incrementar el podre de
procesamiento de la máquina.
CLASIFICACIÓN DE LOS S.O.

Dentro de los sistemas operativos multiprogramados cabe


diferenciar:

• Tiempo compartido. Utilizan las distintas técnicas de


planificación de CPU para que se atiendan todos los
procesos en espera de ser ejecutados. Este proceso ocurre
tan rápido que el usuario no lo percibe. (UNIX, LINUX,
WINDOWS, MAC).

• Tiempo real. Un sistema operativo en tiempo real es aquel


en el cual los resultados son correctos no solo si la
computación es correcta, sino que también ha de serlo el
tiempo en el cual se producen los resultados.
CLASIFICACIÓN DE LOS S.O.

Tiempo real, ejemplo


Basta imaginar un sistema de defensa de un navío militar que
al detectar un misil acercándose, lanza otro para destruirlo
en el aire. No es suficiente con que el sistema de detección
obtenga los datos y dé las ordenes correctas, también debe
hacerlo en un lapso de tiempo determinado, si no esos
resultados no valen nada.

Los S.O. de tiempo real son muy sistemas muy complejos que
suelen diseñarse a medida para ciertas aplicaciones.

Ejemplo: Solaris, de Sun Microsystem.


CLASIFICACIÓN DE LOS S.O.

• Híbridos. Estos sistemas operativos intentan ser una mezcla


de los dos anteriores, buscando combinar las ventajas de
los sistemas de los sistemas en tiempo compartido y tiempo
real.
CLASIFICACIÓN DE LOS S.O.

Por los servicios ofrecidos


En esta clasificación se tiene en cuenta la visión del
usuario final y puede ser la siguiente:

Por el número • Monousuario


usuarios • Multiusuarios

Por el número • Monotarea


de tareas • Multitarea

• Monoproceso • Simétricos
Por el número
• Multiproceso • Asimétricos
de procesadores
CLASIFICACIÓN DE LOS S.O.

• Monousuario. Son aquellos que únicamente soportan un


usuario a la vez, sin importar las características de la
máquina sobre la que está montado el sistema.

• Multiusuario. Son capaces de dar servicio a más de un


usuario a la vez, también independiente de la plataforma
hardware sobre la que este montado.

• Monotarea. Son aquellos que sólo permiten una tarea a la


vez por usuario. Puede darse el caso de un sistema
multiusuario y monotarea, en el cual se admiten varios
usuarios al mismo tiempo, pero cada uno de ellos puede
estar haciendo solo una tarea a la vez.
CLASIFICACIÓN DE LOS S.O.

• Multitarea. Es aquel que permite al usuario estar


realizando varios trabajos al mismo tiempo. Es común
encontrar en ellos interfaces gráficas orientadas al uso de
menús y al mouse, lo que permite un rápido intercambio
entre las tareas para el usuario, mejorando su
productividad.

• Monoproceso. Son los que únicamente permiten realizar un


proceso a la vez.

• Multiproceso. Son los que permiten realizar varios procesos


simultáneamente y, por tanto, son capaces de ejecutar
varias tareas al mismo tiempo.
CLASIFICACIÓN DE LOS S.O.

Dentro de los sistemas multiproceso podemos encontrar:

• Sistemas simétricos. Son los que distribuyen la carga de


procesamiento por igual entre todos los procesadores
existentes. Cada procesador ejecuta una copia del sistema
operativo.

• Sistemas asimétricos. Son aquellos que asignan una tarea


por procesador existente, según su prioridad y el resto de
las tareas (de baja prioridad) se ejecutan en un único
procesador. Por ejemplo en un sistema biprocesador
asimétrico ejecutaría una sola tarea en un solo procesador
y el resto en el otro.
CLASIFICACIÓN DE LOS S.O.

Por la forma de ofrecer los servicios

• Sistemas centralizados. Con este tipo de modelo las


computadoras mainframe se encargaban de todo el
procesamiento y los usuarios manejaban únicamente
terminales tontas.

• Sistemas de red. Estos sistemas operativos son aquellos que


mantienen a dos o más computadoras unidas a través de algún
medio de comunicación (físico o no), con el objetivo
primordial de compartir los diferentes recursos y la
información del sistema.
CLASIFICACIÓN DE LOS S.O.

Por la forma de ofrecer los servicios

• Sistemas distribuidos. Los sistemas operativos distribuidos


son aquellos que permiten distribuir los trabajos, tareas o
procesos entre un conjunto de procesadores. Estos
procesadores pueden estar incluidos en un mismo equipo o en
equipos diferentes. Los procesadores no comparten ni
memoria ni reloj.

También podría gustarte