UT1 - SISTEMAS OPERATIVOS Parte 1

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 17

UT1: SISTEMAS OPERATIVOS

2021

UT1: SISTEMAS OPERATIVOS


U.T.1. SISTEMAS OPERATIVOS. INTRODUCCIÓN. DEFINICIONES.
PROCESOS

1.1 INTRODUCCIÓN

Los sistemas operativos (SO) son un parte fundamental de cualquier


ordenador, ya que son los programas encargados de proporcionar al usuario la
capacidad de manejo y utilización de la máquina.

Un ordenador que solo disponga de su hardware, es una maquina totalmente


inútil, ya que por sí mismo es incapaz de hacer nada. Por ello necesita de este
“alma” al que llamamos sistema operativo, que le permitirá al usuario manejar
todos los recursos de la máquina de una forma sencilla y cómoda.

La visión que se debe tener de un SO es similar a la de un director de orquesta.


Es el encargado de coordinar a todos los componentes de dicho grupo,
formado principalmente por los elementos hardware de la maquina (memoria,
dispositivos E/S, procesador…) y los programas o software que para ejecutarse
necesitan estos recursos.

Como director, establecerá los tiempos, la entrada de cada “instrumento”, el


volumen adecuado de cada sector, etc. Consiguiendo de esta manera que el
conjunto (usuario, recursos y programas) trabajen en una perfecta armonía.

1.2 DEFINICIÓN DE SISTEMA OPERATIVO (SO)

El hardware de un ordenador no es capaz de trabajar por sí solo, al igual,


que ningún usuario podría trabajar directamente con él. Es por tanto
necesario, que entre el usuario y la maquina (hardware) existan una serie de
programas, que le permitan su manejo de una forma lo más sencilla y eficaz
posible. A este software es lo que denominamos sistema operativo.
Definiciones:

• Un sistema operativo es un programa que actúa como intermediario


entre el usuario y el hardware. Cuyo objetivo es simplificar el manejo
de la máquina, ofreciendo al usuario un entorno cómodo, seguro y
eficiente, donde pueda llevar a cabo sus tareas.

2
• Un sistema operativo es un conjunto de programas que,
ordenadamente relacionados entre sí, contribuyen a que el ordenador
lleve a efecto correctamente el trabajo encomendado.

1.3 OBJETIVOS

Desde el punto de vista del usuario, el sistema


operativo consiste en una serie de programas y
funciones que ocultan los detalles del hardware,
ofreciéndole una vía sencilla y flexible de acceso al
mismo, teniendo dos objetivos fundamentales:

Seguridad: El sistema operativo debe actuar contra


cualquier manipulación extraña, ya sea accidental o
premeditada que pudiera dañar la información,
perjudicar a otros usuarios o provocar un
funcionamiento indeseado del sistema. Por ejemplo,
hay ciertas instrucciones que pueden parar la máquina
y otras que realizan operaciones directamente sobre el
hardware, que debemos evitar que se utilicen por los
programas.

Para ello, algunos sistemas proporcionan dos estados, llamados estado protegido
(Sistema o Kernel), en el cual se ejecuta el sistema operativo, y estado no protegido
(Usuario o User), que es el destinado a la ejecución de los programas de usuario
y de aplicación. De esta manera se impide que los programas de los usuarios
puedan tener contacto directo con el hardware, o puedan forzar un incorrecto
funcionamiento del sistema.

Abstracción: La tendencia actual del software y de los lenguajes de programación


es ocultar lo más posible los detalles de más bajo nivel, intentando dar a los
niveles superiores una visión más sencilla, global y abstracta, ofreciéndoles
operaciones para manipular dichas estructuras ocultas, desconociendo por
completo la gestión interna de las mismas. Sobre estas estructuras se construyen
otras que abstraen a las anteriores, y así sucesivamente. Gracias a la abstracción,
los sistemas operativos enmascaran los recursos físicos, permitiendo su manejo
con funciones más generales que ocultan las básicas, constituyendo verdaderos
recursos ficticios o virtuales, que mejoran y son más potentes que los físicos.

3
Desde el punto de vista de un programa o usuario, la máquina física se convierte,
gracias al sistema operativo, en una máquina virtual, también conocida como
máquina extendida, que presenta la ventaja respecto a la física de ofrecer más
funciones de las que normalmente soportaría esta última. Desde el punto de vista del
usuario, el sistema operativo proporciona servicios que no están presentes en la
máquina subyacente. Estos servicios incluyen las facilidades de carga y ejecución de
programas, interacción entre el usuario y los programas, permitiendo que se ejecuten
varios al mismo tiempo, gestión de la contabilidad para facturar los servicios y
almacenamiento de datos y programas.

Como resumen, podemos decir que el sistema operativo persigue alcanzar la mayor
eficiencia posible del hardware, y facilitar el uso del mismo a los usuarios y a las
aplicaciones.
1.4 FUNCIONES DEL SISTEMA OPERATIVO
Un SO está formado esencialmente por 3 capas:

Figura1.1. Capas del sistema operativo

4
• Capa del Núcleo (Kernel): es la capa más cercana al hardware. Es la que gestiona los
recursos hardware de la máquina y suministra la funcionalidad básica del SO.

• Capa de servicios o llamadas al sistema: ofrece a los programas y programadores


unos servicios en forma de interfaz de nominada API (application programming
interface). Se puede decir que el SO ofrece una máquina virtual extendida a los
programas, ya que estos se apoyan en funciones que suministra directamente el SO.

• Capa de Shell o interprete de comandos: ofrece al usuario un interfaz, a través de


la cual puede dialogar de forma interactiva con la máquina. El Shell recibe los
mandatos u órdenes del usuario, los interpreta y ejecuta.
Cada una de estas capas, nos desvela una de las tres funciones básicas de un
SO, que se detallaran a continuación:

• Gestión de recursos (capa del núcleo)


• Maquina extendida (capa de servicios): ejecución de servicios para los
programas.
• Interfaz de usuario (capa de Shell): ejecución de las órdenes de los
usuarios.
• El sistema operativo como gestor de recursos

En una computadora suelen ejecutarse de manera simultánea varios programas


de uno o varios usuarios. Estos programas se ven obligados a competir por los
recursos, ya que estos son limitados. El SO es el encargado de gestionar estos
recursos, su uso y asignación. Los recursos que maneja el SO son tanto físicos como
lógicos. Entre los físicos se encuentran el procesador, la memoria principal y los
periféricos. Y como lógicos están los archivos, directorios y puertos de
comunicación.

Debe también, garantizar la integridad de cada uno de los programas que se


ejecutan simultáneamente. Manteniendo la confidencialidad de la información.

Por último, debe analizar o contabilizar el uso que hacen los programas de los
recursos que tienen asignados. Cuando la contabilidad se emplea meramente para
conocer la carga del sistema se denomina monitorización.

• El sistema operativo como máquina extendida

El SO ofrece a los programas una serie de servicios que pueden solicitar cuando lo
necesiten, proporcionándolos una visión de maquina extendida. Con estos
servicios, un programa puede ejecutar de forma cómoda y protegida ciertas
operaciones. Estos servicios se pueden dividir en cuatro grupos:

5
Ejecución de programas: servicios que permiten lanzar, parar o abortar la
ejecución de un programa. La ejecución de programas da lugar al concepto de
proceso. Un proceso se podría definir como un programa en ejecución.

Gestión de la memoria: Asociada a la gestión de procesos. Para ejecutar un


proceso es necesario asignarle unas direcciones de memoria exclusivas para él y
cargarlo en ellas, cuando el proceso finalice su ejecución es necesario liberar las
direcciones de memoria que estaba usando.

Operaciones de entrada/salida: la programación de operaciones E/S son muy


complejas y dependientes del hardware de cada periférico. Por ello, estos
servicios de E/S ofrecen un alto nivel de abstracción al programador, que
no debe tener en cuenta los detalles.

Operaciones sobre archivos: estos servicios son muy similares a las de E/S, pero
trabajando con archivos en lugar de periféricos. Permite operaciones como
creación, borrado, apertura, escritura y lectura de archivos.

Gestión de la red. El sistema operativo es el encargado de gestionar los distintos


niveles de red, los drivers (controladores) de los dispositivos involucrados en la
red, los protocolos de comunicación, las aplicaciones de red, etc.

Detección y tratamiento de errores: permiten analizar las órdenes recibidas, así


como tratar los errores que detecte el hardware (errores de E/S, errores en acceso
a memoria, desbordamientos, violación de memoria, instrucciones prohibidas,
etc.)

• El sistema operativo como interfaz de usuario

Este interfaz es lo que permite al usuario comunicarse con la máquina. Puede ser
un interfaz textual (el usuario se comunica mediante órdenes escritas) o grafico (el
usuario utiliza medios gráficos como iconos, cursores, etc., para comunicarse con
la maquina).

El Shell se comporta como un bucle infinito en el que repite constantemente la


siguiente secuencia:

Esperar una orden del usuario. En el caso de un interfaz textual, espera lo que
escribe el usuario en la línea de comandos. Y en el caso de interfaz gráfica está a
la espera de un evento o acción (del ratón, del teclado, etc.).

Analiza la orden y si es correcta la ejecuta utilizando los servicios del sistema


operativo.

Concluye la orden y vuelve a la espera.

6
1.5 COMPONENTES DEL SISTEMA OPERATIVO

Los componentes de un sistema operativo, están especializados en realizar


determinadas funciones. Como se vio en el punto anterior se suele considerar que un
SO está formado por tres capas: núcleo, servicios y Shell.

Gestión de
archivos

Figura 1.2. Componentes del sistema operativo


El núcleo, es la parte del sistema operativo encargada de interactuar directamente
con el hardware de la máquina. Las funciones que debe llevar a cabo el núcleo son la
gestión de los recursos, gestión del procesador, tratamiento de interrupciones y
funciones básicas de tratamiento de la memoria.

El Shell, es la parte del sistema operativo que interpreta y trata las órdenes de los
usuarios. En la figura 1.2 se puede observar que este ejemplo se dispone de dos
intérpretes de comandos, un intérprete gráfico y otro textual. Lógicamente, en caso
de existir en un mismo sistema operativo varios intérpretes de comandos, no se
podrán mezclar los mandatos de cada uno de ellos.

Por último, la capa de servicios. En ella se agrupan los distintos servicios, según su
funcionalidad, en varios componentes:

• Gestión de procesos: Este componente se encarga de crear, planificar y


destruir los procesos.

• Gestión de memoria: Este componente se encarga de la asignación y liberación


de la memoria solicitada por los procesos. Debe conocer en cada momento que
partes de la memoria están partes libres y cuales ocupadas.

• Gestión de la E/S: Se ocupa del manejo de los dispositivos periféricos.

• Gestión de archivos y directorios: Su cometido es el manejo de archivos,


directorios y almacenamiento secundario.

• Comunicación y sincronización de procesos: Ofrece los mecanismos necesarios


para la correcta ejecución y comunicación de los procesos.

• Seguridad y protección: Este componente garantiza la privacidad de los


usuarios y define las condiciones con las que pueden acceder a los recursos.

7
1.6 ESTRUCTURA DEL SISTEMA OPERATIVO
Un sistema operativo es un programa de grandes dimensiones y complejidad.
Como se ha visto en el punto anterior se forma de diferentes componentes, cada una
de los cuales, tiene una función muy concreta dentro del conjunto. Cada SO estructura
u organiza de una forma diferente estos componentes. Y en función de esta
estructuración se pueden dividir en dos grandes grupos, los SO monolíticos y los
estructurados.
Monolíticos: se caracterizan porque no tienen una estructura clara y bien definida.
Todos sus componentes están integrados en único programa y sus funciones se ejecutan
directamente en modo núcleo.
Estos sistemas operativos en su origen eran programas sencillos y de pequeñas
dimensiones. A los cuales se les han ido añadiendo funcionalidades,
convirtiéndolos con el paso del tiempo en programas muy grandes y complejos.
El problema que plantean estos SO, es que todas sus funciones y servicios están situadas
al mismo nivel, lo que complica el hecho de modificar o añadir nuevos componentes, ya
que, para ello, se debe modificar un programa compuesto por miles de líneas de código
y funciones, que se invocan entre ellas.

Como ejemplo de este tipo de sistemas están el MS-DOS y UNIX.


Estructurados: Existen dos tipos de estructuras, que son las que normalmente se aplican
a los SO: la estructura de capas y la estructura cliente-servidor:

• Estructura de capas: En este tipo de estructura, el sistema operativo se organiza


en una serie de capas con un orden jerárquico concreto. Mediante el cual, cada
capa ofrece una interfaz, clara y bien definida, a la capa superior y solo utiliza los
servicios que le ofrece la capa inferior. Las ventajas de este tipo de estructura
son la modularidad y la ocultación de información. Una capa no necesita saber
cómo se ha implementado la capa inferior a ella, únicamente necesita conocer
la interfaz que le ofrece. Esto permite que las capas se puedan ir construyendo y
depurando por separado.

Ejemplo de SO estructurado en capas

CAPA 5: Programas de usuario


CAPA 4: Gestión de la e/s
CAPA 3: Comunicación operador - proceso
CAPA 2: Gestión de memoria
CAPA 1: Planificador y multiprogramación
CAPA 0: Hardware

8
Otra forma de ver este tipo de sistema es la denominada de anillos concéntricos o
"rings"
En el sistema de anillos, cada uno tiene una apertura, conocida como puerta o
trampa (trap), por donde pueden entrar las llamadas de las capas inferiores. De esta
forma, las zonas más internas del sistema operativo o núcleo del sistema estarán más
protegidas de accesos indeseados desde las capas más externas. Las capas más
internas serán, por tanto, más privilegiadas que las externas.

Cada capa supervisa a la capa que tiene por encima, de modo que para que algo se
ejecute en la capa 5, por ejemplo, debe recibir permiso y supervisión de la capa 4, que
esta supervisada por la 3, y así sucesivamente. Evidentemente cuanto más al “exterior”
de la estructura se ejecute un programa, más lento va a ser su funcionamiento ya que
va a recibir un gran número de supervisiones. Por el contrario, cuanto más en el interior
se ejecute un proceso, mayor será su velocidad.
En el centro de esta estructura se encuentra el Kernel o Núcleo del sistema operativo,
que es su parte más importante.
Estructura cliente-servidor: El fundamento de esta estructura consiste en implementar
la mayor parte de los servicios y funciones del SO para que sean ejecutadas en modo
usuario, dejando solo una pequeña parte ejecutándose en modo núcleo. A esta pequeña
pare se denomina micronúcleo y a los procesos que ejecutan el resto de funciones se les
denomina servidores. Las funciones que suele llevar a cabo el micronúcleo son: la
gestión de interrupciones, la gestión de procesos y la gestión de la memoria.

9
Para solicitar un servicio, como por ejemplo crear un proceso, el programa de
usuario (proceso denominado cliente) solicita el servicio al servidor correspondiente, en
este caso al servidor de procesos. A su vez este, puede requerir servicios de otros
servidores, como por ejemplo al de memoria, convirtiéndose en cliente de otro servicio.
La ventaja de esta estructura, es que es muy flexible, ya que cada proceso
servidor solo se encarga de una funcionalidad concreta, lo que le convierte en una parte
pequeña y manejable.
La desventaja que presenta es que estos sistemas se sobrecargan más que los de
estructura monolítica. Esto es debido a que cada componente ejecuta sus funciones en
espacios de direcciones distintos, lo que requiere mayor tiempo y recursos.
Algunos ejemplos de sistemas operativos estructurados como cliente-servidor
son: Minix y proyecto Amoeba.

1.7 CLASIFICACIÓN DE SISTEMAS SEGÚN SU VISIÓN INTERNA


Según el número de usuarios que soporta concurrentemente:

• Monousuarios. Los sistemas operativos monousuarios son aquéllos que


soportan a un usuario a la vez, sin importar el número de procesadores que
tenga la computadora o el número de procesos o tareas que el usuario pueda
ejecutar en un mismo instante de tiempo. Las computadoras personales
típicamente se han clasificado en esta sección.

• Multiusuario. Los sistemas operativos multiusuario son capaces de dar servicio


a más de un usuario a la vez, ya sea por medio de varias terminales conectadas
a la computadora o por medio de sesiones remotas en una red de
comunicaciones. No importa el número de procesadores en la máquina ni el
número de procesos que cada usuario puede ejecutar simultáneamente.

Según el número de tareas que puede ejecutar concurrentemente:

10
• Monotareas. Los sistemas 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.

• Multitareas. Un sistema operativo multitarea es aquél que le permite al


usuario estar realizando varias labores al mismo tiempo. Por ejemplo, puede
estar editando el código fuente de un programa durante su depuración
mientras compila otro programa, a la vez que está recibiendo correo
electrónico en un proceso en background (segundo plano). Es común
encontrar en ellos interfaces gráficas orientadas al uso de menús y el ratón, lo
cual permite un rápido intercambio entre las tareas para el usuario, mejorando
su productividad.

Según el número de procesadores que puede gestionar:

• Uniproceso. Un sistema operativo uniproceso es aquél que es capaz de manejar


solamente un procesador de la computadora, de manera que si la computadora
tuviese más de uno le sería inútil. Por ejemplo, Windows 98 es un sistema
operativo Uniproceso.

• Multiproceso. Un sistema operativo multiproceso es capaz de manejar más de


un procesador en el sistema, distribuyendo la carga de trabajo entre todos los
procesadores que existan en el sistema. Generalmente estos sistemas trabajan
de dos formas: simétricamente o asimétricamente.

o Cuando se trabaja de manera asimétrica, el sistema operativo selecciona


a uno de los procesadores el cual jugará el papel de procesador maestro
y servirá como pivote para distribuir la carga a los demás procesadores,
que reciben el nombre de esclavos. El único procesador que realmente
tiene acceso a todos los recursos del sistema es el maestro, que relega en
los esclavos los trabajos que le van llegando. Es un sistema simple de
construir y donde es muy fácil añadir más procesadores esclavos.
o Cuando se trabaja de manera simétrica, los procesos o partes de ellos
(threads, hebras o hilos) son enviados indistintamente a cualquiera de los
procesadores disponibles, teniendo una mejor distribución y equilibrio
en la carga de trabajo bajo este esquema. Se dice que un thread es la
parte activa en memoria y corriendo de un proceso, lo cual puede
consistir de un área de memoria, un conjunto de registros con valores
específicos, la pila y otros valores de contexto. Es un sistema mucho más
difícil de construir, y es también tremendamente complicado añadir más
procesadores, pero tiene la gran ventaja de ser muchísimo más práctico,
ya que cada procesador tiene acceso a todos los recursos y las cargas de
trabajo se pueden dividir de forma mucho más rápida.

11
o La aplicación debe construirse específicamente para aprovechar varios
procesadores. Existen aplicaciones que fueron hechas para correr en
sistemas uniproceso que no aprovechan el multiproceso, ya que el código
debe contener secciones de código paralelizable (que se puedan correr
en paralelo), los cuales son ejecutados al mismo tiempo en procesadores
diferentes:

Así, Prog A se ejecutará en 4 ciclos de reloj sin importar si se ejecuta en un sistema


monoprocesador o no, mientras que Prog B se ejecutará en 4 ciclos de reloj en un
sistema monoprocesador, pero en 1 ciclo de reloj en un sistema con 4 procesadores.
Resumen de los tipos de sistemas operativos según su visión interna.

12
1.8 SISTEMAS OPERATIVOS SEGÚN SU VISIÓN EXTERNA

Esta clasificación se refiere a la visión externa del usuario, en cómo este usuario
accede a los servicios.

1.8.1 SISTEMAS OPERATIVOS DE ESCRITORIO

Estos sistemas operativos se utilizan en los equipos personales, estaciones de


trabajo, portátiles, etc. También se suelen conocer como sistemas operativos clientes.
Windows 7 ó 10 por ejemplo, es un sistema operativo de escritorio. Suelen ser
sistemas operativos preparados para permitir un uso fácil por parte del usuario,
destacan en multimedia, juegos, sonido, ofimática, etc.

1.8.2 SISTEMAS OPERATIVOS EN RED Y SERVIDORES

Los sistemas operativos de red se definen como aquellos que tiene la


capacidad de interactuar con sistemas operativos en otras computadoras por medio
de un medio de transmisión con el objeto de intercambiar información, transferir
archivos, ejecutar comandos remotos y un sin fin de otras actividades. Lo importante
es hacer ver que el usuario puede acceder a la información no solo de su máquina,
sino a la de cualquier máquina de la red, y esto se consigue gracias a que utiliza un
sistema operativo de red.

Hoy en día todos los sistemas operativos de escritorio son sistemas operativos de red
también, cosa que no ocurría anteriormente. Normalmente solemos llamar sistemas
operativos en red a los sistemas operativos que funcionan como servidores en una
red, como es el caso del Windows Server o Linux Server.

1.8.3 SISTEMAS OPERATIVOS DISTRIBUIDOS

Un sistema distribuido se define como una colección de equipos informáticos


separados físicamente y conectados entre sí por una red de comunicaciones
distribuida; cada máquina posee sus componentes de hardware y software de modo
que el usuario percibe que existe un solo sistema (no necesita saber qué cosas están
en qué máquinas). El usuario accede a los recursos remotos de la misma manera en
que accede a recursos locales ya que no percibe que existan varios ordenadores, sino
que solo es capaz de ver uno formado por todos los anteriores y permiten aumentar
la potencia del sistema informático, de modo que 100 ordenadores trabajando en
conjunto, permiten formar un único ordenador que sería 100 veces más potente que
un ordenador convencional.

Son muy confiables, ya que si un componente del sistema se descompone otro


componente debe de ser capaz de reemplazarlo, esto se denomina Tolerancia a
Fallos.

13
El tamaño de un sistema distribuido puede ser muy variado, ya sean decenas
de hosts (red de área local), centenas de hosts (red de área metropolitana), y miles o
millones de hosts (Internet); esto se denomina escalabilidad. De hecho, si un
ordenador formando por un sistema distribuido se queda “corto” para las necesidades
de la empresa, basta con instalar más.

La computación distribuida ha sido diseñada para resolver problemas


demasiado grandes para cualquier supercomputadora y mainframe, mientras se
mantiene la flexibilidad de trabajar en múltiples problemas más pequeños. Esta forma
de computación se conoce como grid. Los grandes retos de cálculo de hoy en día,
como el descubrimiento de medicamentos, simulación de terremotos, inundaciones y
otras catástrofes naturales, modelización del clima/tiempo, grandes buscadores de
internet, el programa SETI, etc. Son posibles gracias a estos sistemas operativos
distribuidos que permiten utilizar la computación distribuida.

Otro método similar para crear sistemas de supercomputadoras es el


clustering. Un cluster o racimo de computadoras consiste en un grupo de
computadoras de relativo bajo costo conectadas entre sí mediante un sistema de red
de alta velocidad (gigabit de fibra óptica por lo general) y un software que realiza la
distribución de la carga de trabajo entre los equipos. Por lo general, este tipo de
sistemas cuentan con un centro de almacenamiento de datos único. Los clusters
tienen la ventaja de ser sistemas redundantes, si falla un equipo se resiente un poco
la potencia del cluster, pero los demás equipos hacen que no se note el fallo.

En un cluster normalmente todos los equipos están ubicados en una misma


red de área local, mientras que en un grid los equipos suelen estar distribuidos por
todo el mundo.

Un cluster que usamos habitualmente, es el que forma Google. Se estima que


en 2010 usaba unos 450.000 ordenadores, distribuidos en varias sedes por todo el
mundo y formando clusters en cada una de dichas sedes.

Cada cluster de Google está formado por miles de ordenadores y en los


momentos en que se detecta que el sistema está llegando al límite de su capacidad,
se instalan cientos de ordenadores más en pocos minutos, aumentado así la potencia
de cada cluster. Estos equipos normalmente con ordenadores x86 como los que
solemos usar nosotros, corriendo versiones especiales de Linux, modificadas por la
propia Google para que permitan la formación de estos clusters. (Buscar en google
“google centro de datos” para ver algunas informaciones sobre ellos).

1.9 SISTEMAS OPERATIVOS POR SU DISPONIBLIDAD

Por la forma en que se ponen disponibles a los usuarios tenemos:

Sistemas Operativos propietarios

14
Se les denomina propietarios porque son sistemas propiedad de la empresa
que los desarrolla. La empresa no vende en realidad el sistema operativo, sino una
licencia de uso del mismo. No se tiene acceso al código fuente del sistema, o por lo
menos, no se tiene permiso para modificarlo libremente.

También está prohibido distribuir estos sistemas, o usarlos de formas no


autorizadas por la empresa desarrolladora. Toda la familia Windows es un claro
ejemplo de sistema operativo propietario.

Sistemas Operativos libres

Son sistemas operativos en los que se ha renunciado a cualquier tipo de


propiedad intelectual. Son sistemas que pueden usarse libremente, ser distribuidos,
permiten que se acceda a su código fuente y permiten que esté sea modificado de la
forma que queramos.

No hay que confundir el hecho de que sean libres con el hecho de que sean gratuitos.
Posteriormente trataremos en profundidad el tema de las licencias de software.

En general, tanto los sistemas operativos como las aplicaciones normales, pueden
definirse según su disponibilidad en alguno de estos apartados:

1.9 SISTEMAS OPERATIVOS POR SU TIPO DE LICENCIA

Dentro de los sistemas operativos comerciales, propietarios y privativos, nos podemos


encontrar con diversos tipos de licencia de uso:

15
O.E.M.

OEM (abreviatura del inglés original equipment manufacturer, en español sería


fabricante de equipamiento original). Este tipo de licencias se las otorga el
desarrollador del sistema operativo al fabricante de hardware, de modo que cuando
nosotros compramos uno de sus productos, este viene con una licencia de uso del
sistema operativo de tipo OEM. La particularidad de este tipo de licencias, es el que el
sistema operativo viene preparado para ese hardware específicamente, de modo que
no tenemos realmente una licencia de uso del sistema operativo, sino una licencia de
uso del sistema operativo únicamente para ese hardware en concreto.

Estas licencias son las más económicas, y suelen poseer restricciones especiales,
aparte de venir sin manuales ni caja.

RETAIL

Es la licencia que compramos directamente del desarrollador. Somos propietarios de


la licencia, podemos instalarlo en cualquier tipo de hardware compatible, podemos
revender la licencia o cederla, etc.

Normalmente solo permiten su uso en una sola maquina a la vez. Vienen con su caja
y manuales. En las licencias de tipo retail, normalmente podemos elegir entre una
licencia completa, o una licencia de actualización, que permite actualizar un sistema
anterior al nuevo, por un coste algo más reducido.

VLM (LICENCIAS POR VOLUMEN).

Para una empresa con cientos de ordenadores, es complicado controlar las licencias
individuales de cada una de sus máquinas. Existe la posibilidad de contratar un tipo de
licencia especial con el desarrollador, de modo que, con una única clave de licencia,
podemos utilizar varias máquinas a la vez. Es habitual que existan licencias de 25 usos
concurrentes, 50, etc.

Son las licencias más caras evidentemente, aunque son bastante más económicas que
comprar cada una de las licencias individualmente.

MSDN (LICENCIAS DE EDUCACIÓN).

Son unas licencias especiales de Microsoft que permiten su uso únicamente para
actividades educativas y de formación. Cualquier uso de estas licencias en equipos que
desarrollen actividades fuera de este ámbito, es ilegal. Existen también licencias de
este tipo para empresas de desarrollo, academias, etc.

16
17

También podría gustarte