materials

Introducción a los Sistemas Operativos

Objetivos de la unidad

Los objetivos a alcanzar en esta unidad de trabajo son los siguientes:

Conceptos clave

Los conceptos más importantes de esta unidad son:

Estructura de un sistema informático

Hardware

Arquitectura

Vamos a ver a grandes rasgos algunos de los componentes más importantes de un ordenador.

Arquitecturas de CPU

El elemento más importante para ejecutar una instrucción es el procesador. Los pasos para ejecutar una instrucción:

  1. Se lee la instrucción de memoria.
  2. Se decodifica la instrucción (qué se tiene que hacer).
  3. Se encuentran los datos necesarios para procesar la instrucción.
  4. Se procesa la instrucción.
  5. Se escriben los resultados en memoria.

No todos los procesadores funcionan igual. Cada uno las realiza de una forma diferente. Tiene conjunto de instrucciones que puede ejecutar. La arquitectura más común se la PC. Las que han salido posteriormente, normalmente son compatibles con en esta. Un Sistema Operativo. Solamente se puede ejecutar sobre una máquina con la arquitectura por el que se ha diseñado.

Software

Existen 2 tipos de software principalmente:

El software de aplicaciones es el conjunto de programas y paquetes informáticos instalados por el usuario para realizar tareas concretas como editar textos, retocar fotografías, realizar cálculos, etc.

Software de sistema o de base son aquellos programas que hacen posible que el ordenador funciono y se pueda comunicar con el usuario. El software de base lo constituyen el sistema operativo con el cual trabaja el ordenador, los drivers que permiten el funcionamiento de los distintos periféricos (que son específicos para ese sistema operativo) y otros programas de utilidad.

El sistema operativo es también el que proporciona la interfaz de usuario mediante la cual el usuario se comunica con el ordenador y le indica lo que desea hacer en cada momento.

prog

Arquitectura de un sistema Operativo

El sistema operativo es el software básico del ordenador sin el cual este no funciona. Gestiona todos los recursos hardware del sistema y proporciona la base sobre la cual se ejecuta el software de aplicación. Además proporciona al usuario la forma de comunicarse con el ordenador mediante una interfaz de texto o gráfica.

Por ejemplo, cuando un usuario quiere guardar un fichero en el disco duro simplemente le indica el sistema operativo el nombre del fichero y en qué carpeta lo desea guardar, siendo el S.O. el cual se preocupará de buscar sectores vacíos en el disco duro y enviarle al disco los datos a guardar en cada sector.

No todos los sistemas operativos se pueden instalar en cualquier sistema informático, ni todos los equipos pueden soportar cualquier sistema operativo.

Elementos y estructura de un Sistema Operativo (SO)

Como podemos imaginar, un sistema operativo es un programa muy complejo que debe estar muy bien organizado y estructurado internamente para llevar a cabo su trabajo de una forma eficiente. En este sentido, los sistemas operativos se subdividen en diferentes componentes que se encuentran especializados en aspectos concretos del mismo.

Los elementos que constituyen la mayoría de los sistemas operativos son lo siguientes:

Ahora que ya sabemos que el sistema operativo se divide en distintos elementos, podemos plantearnos el modo en el que dichos elementos se organizan dentro del sistema operativo para llevar a cabo su cometido. También será importante para el diseño del sistema establecer qué componentes del mismo se ejecutan en modo núcleo y cuáles en modo usuario.

El núcleo de un sistema operativo también suele recibir el nombre de kernel.

En este sentido, los planteamientos que se aplican en los sistemas operativos más conocidos son los siguientes:

Funciones del Sistema Operativo.

Administrar recursos Hardware

El S.O no es más que un programa que dirige al procesador en la ocupación de los recursos del sistema.

Proporcionar una interfaz

El sistema operativo hace de intermediario entre los demás programas y el hardware del equipo así como entre el usuario y el equipo. Respecto a los programas de aplicación les proporciona una serie de funciones que les permite utilizar el hardware sin tener que preocuparse de la complejidad del mismo.

Al usuario le proporciona una interfaz para comunicarse con el ordenador, que puede ser:

Tipos de Sistemas Operativos.

Los sistemas operativos se pueden clasificar según varios parámetros:

Licencias

Licencias

La licencia de software es, según el Derecho español, el contrato por el cual el titular de un programa autoriza al usuario a utilizarlo, cediéndole los derechos necesarios para este uso.

La licencia de software cumple una doble función:

Por lo tanto la licencia establece determinados derechos y obligaciones entre las partes. Y es en este punto donde se diferencian las licencias del software de código abierto (Open Source Software) y las licencias no libres o privativas:

Cómo vemos en el diagrama, cada conjunto (software libre, no libre) incluye determinados subtipo de licencias subtipos de licencias (permisivas, copyleft, etc.), que se diferencian entre sí por las condiciones que se establecen en ellas.

Soft

Licencias no-libres o privativas

Se puede decir que hay tantas licencias no-libres como software privativo.

Las condiciones especificas dependerán de aspectos como:

Para ejercer los derechos de estas licencias, el usuario deberá de cumplir una serio de obligaciones

privativa

Dentro de les licencias privativas nos encontramos las de tipo Freeware, Shareware y Adware.

Freeware:

freeware

Shareware:

shareware

Adware:

Licencias de software de código abierto

Las licencias de código abierto, permiten entre otras cosas:

Esto se resume en las cuatro libertades del software libre, definidas por la Free Software Foundation:

Las libertades 1 y 3 requieren acceso al código fuente.

Tipos de licencia

opensource

Aparte del copyleft, las licencias se caracterizan para aplicar condiciones adicionales sobre temas que sus autores han creído importante:

Licencias permisivas o académicas

Se denominan de esta forma puesto que no imponen ninguna condición particular en cuanto a la redistribución del software excepto mantener los avisos legales y las limitaciones de garantía y responsabilidad.

Este tipo de licencia es el resultado del deseo de sus autores de compartir el software con cualquier finalidad sin imponer obligaciones que suelen restringir los usos tanto personales como comerciales, libres o privativos.

Las más conocidas son:

Licencias con copyleft fuerte

Son las que exigen el uso de la misma licencia para cualquier redistribución del programa y de las modificaciones que se realicen del mismo, así como a programas que lo utilicen o incorporan.

Su objetivo básico es asegurar que cualquier usuario (directo o indirecto) del software siempre tenga acceso al código fuente, bajo los términos de esta misma licencia.

Como consecuencia, se impide la distribución del software con copyleft en aplicaciones privativas.

Esto no significa que no se puedan crear y vender aplicaciones comerciales con software copyleft. Pero sí será una violación de la licencia redistribuir este software bajo otra licencia.

GPL (General Public License)

gpl

Licencias mixtas o con copyleft suave.

Incluyen claúsulas de copyleft solo para el código original, sin que afecte a otros programas que lo integran o lo utilizan.

Permiten el uso del software por programas que se distribuyan bajo una licencia diferente (la Lesser GPL o LGPL) así como su incorporación en una obra más amplia (o “obra mayor”) la licencia de la cual, igualmente, puede ser diferente (MPL y CDDL28, entre otras).

Licencia MPL (Mozilla Public License)

Cumple completamente con la definición de Software de código Abierto de la Open Source Initiative (OSI) y con las libertades del software libro enunciadas por la Free Software Foundation (FSF), pero deja ya abierto el camino a una posible reutilización no libre del software, si el usuario así lo desea.

Tiene sus orígenes en la empresa Netscape Communications para su navegador. Es la licencia del navegador Firefox y su cliente de correo Thunderbird. También se ampliamente utilizado por desarrolladores y programadores que quieren liberar su código.

netscape

Creative Commons

Las licencias Creative Commons contemplan una serie de limitaciones que son como variables que se combinan entre sí para determinar la restricción de la licencia.

Combinando estas cuatro variables obtendremos seis licencias diferentes más una, la CC0 que es la ausencia de dichas condiciones.