Ut 1. Somo

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

UNIDAD 1

Sistema Operativo:
conceptos básicos
Contenidos:

1. Ordenador. Sistemas Informáticos. Programa.

2. Funciones del Sistema Operativo Planificación de la CPU

3. Gestión de procesos.

4. Planificación de la CPU.

5. Gestión de memoria.

6. Dispositivos de E/S.

7. Sistemas de archivos.

8. Clasificación de los Sistemas Operativos.

9. Tipos de licencias.

1
1. Ordenador. Sistemas Informáticos. Programa.
Un ordenador o PC es una herramienta que permite un tratamiento automático de la
información. Donde un tratamiento automático conlleva la:
• Organización
• Tratamiento
• Transmisión
• Almacenamiento de dicha información.

En definitiva los Sistemas Informáticos son una serie de elementos físicos, más
conocidos como hardware, los cuales realizan un proceso determinado de forma
rápida y con gran precisión mediante las órdenes o instrucciones, llamados software o
componentes lógicos, todo ello manejado por una o varias personas.

Por tanto, un Sistema Informático es un conjunto de elementos hardware, software y los


recursos humanos que permiten el tratamiento de la información.

Al conjunto de órdenes u instrucciones ordenadas se las conoce como programa. Y al


conjunto de varios programas se le denomina aplicación informática.

Pero para que se puedan ejecutar los programas, de forma independiente al el


hardware del sistema, es necesario la existencia de un intermediario, que se llama
Sistema Operativo.

1.1. ¿Qué es un Sistema Operativo?


Un Sistema Operativo o Software es un conjunto de programas y aplicaciones que, de
una forma ordenada entre sí, hacen que un ordenador lleve a cabo de una forma
correcta el trabajo encomendado. Es decir, controla y coordina a los distintos
elementos de hardware, hace de interfaz y oculta las peculiaridades del hardware.

2 CPIFP Los Enlaces. SOM.


Para un usuario, el sistema operativo es una serie de programas y funciones que le
ofrecen una vía sencilla y flexible acceso al hardware, es decir un programa que
actúa de intermediario entre el usuario del ordenador y el hardware, y cuyos objetivos
son:

• Seguridad: El SO debe actuar contra cualquier manipulación del tipo que sea,
tanto accidental como premeditada que haga que la información y que
provoca un funcionamiento no deseado del sistema o incluso puede llegar a
perjudicar a terceros.

• Abstracción: Se intenta ocultar lo más posible los detalles de más bajo nivel,
intentando que los niveles superiores tengan una visión más global y sencilla. Es
decir, proporcionar una visión de máquina virtual extendida.

• Facilitar el uso del ordenador al usuario.

• Manejar el hardware de una forma efectiva y eficiente.

• Ejecutar programas

En definitiva el software es la parte intangible del ordenador, el elemento lógico, que


solo podemos acceder a ella a través del hardware.

1.1.1. ¿Por qué elegir un SO u otro?

1. El Sistema Operativo, sus peculiaridades internas, influye de mucho en el


funcionamiento general, en la seguridad y rendimiento del ordenador.

2. La importancia de la elección de un determinado SO para empresa es cada día


mayor, es estratégica.

3. Conocer el funcionamiento del SO es fundamental para desarrollar aplicaciones


que obtengan buenas prestaciones y para comprender la causa de muchos
problemas.

1.1.2. Preguntas que hay que hacerse a la hora de elegir un SO

• ¿Qué SO aprovecha mejor las capacidades de mi sistema?

• ¿El SO soporta todos los dispositivos que pretendo conectar al ordenador? Si no lo


hace, ¿qué se puede hacer?

• ¿Es lo suficientemente seguro para el entorno en el que ha de integrarse?

• ¿Mis aplicaciones correrán "bien" sobre el SO elegido? ¿Cómo se adaptará a mi


carga de trabajo concreta?

3 CPIFP Los Enlaces. SOM.


1.1.3. ¿Cómo elegir un SO?

• Aparte del coste…

• ¿Qué expectativas de futuro tiene?

• ¿Con qué frecuencia se publican parches y mejoras?

• ¿Es fácil encontrar administradores para este SO? ¿La administración es una tarea
“oscura” y exclusiva de personal ultra-especializado?

1.2. Hardware(solo leer, se ve en el módulo de Montaje)


El hardware es la parte física que representa el sistema informáticos, es decir, los
elementos tangibles que lo componen, tales como el monitor y el teclado, así como
los cables y chips que forman la máquina.

Los componentes físicos de un ordenador se pueden clasificar de la siguiente forma:

o Unidad central de procesos UCP (CPU)

o Memoria central

o Unidades de entrada y salida

o Buses

o Unidades periféricas o periféricos

En 1946, el matemático John von Neumann estableció el diseño para un ordenador


digital electrónico con estos elementos.

4 CPIFP Los Enlaces. SOM.


1.2.1. Unidad Central de Proceso

La Unidad Central de Proceso (CPU), también denominada procesador, es el elemento


encargado del control y ejecución de las operaciones que se efectúan dentro del
ordenador con el fin de realizar el tratamiento automático de la información.

El procesador es la parte fundamental del ordenador y está formado por:

o Unidad de control (UC)

o Unidad aritmético-lógica (UAL)

o Memoria interna integrada

1.2.1.1. Unidad de Control

La Unidad de Control (UC) es la parte pensante del ordenador, cuya tarea


fundamental es la de recibir información para interpretarla y procesarla después
mediante las órdenes que envía a los otros componentes del ordenador.

La UC dispone de pequeños espacios de almacenamiento, denominados registros y


otros componentes, que son:

• Registro de instrucción (RI). Contiene la instrucción que se está ejecutando y consta


de diferentes campos:
o CO – código de operación que se va a realizar.
o MD – modo de direccionamiento de la memoria para acceder a la
información que se va a procesar.
o CDE – campo de dirección efectiva de la información.

• Registro contador de programas (CP). Contiene la dirección de la memoria de la


siguiente instrucción a ejecutar.

5 CPIFP Los Enlaces. SOM.


• Decodificador. Controla el flujo de instrucciones de la CPU e interpreta la
instrucción para su posterior procesamiento. Se encarga de extraer el código de la
operación de la instrucción en curso.

• Secuenciador. Genera las micro-órdenes necesarias para ejecutar la instrucción.

• Reloj. Proporciona una sucesión de impulsos eléctricos a intervalos constantes.

1.2.1.2. Unidad Aritmético Lógica

La Unidad Aritmético Lógica (UAL) es la parte de la CPU encargada de realizar las


operaciones de tipo aritmético (suma, multiplicación, etc.) así como las de tipo lógico
(comparación).

Los elementos que componen la ALU son los que se indican:

• Circuito combinado u operacional. Realiza las operaciones con los datos de los
registros de entrada.

• Registros de entrada. Contienen los operandos de la operación.

• Registro acumulador. Almacena los resultados de las operaciones.

• Registro de estado. Registra las condiciones de la operación anterior.

1.2.2. Memoria Central o Principal

La Memoria Central (RAM) es el dispositivo donde se almacenan las instrucciones y los


datos necesarios para que un determinado proceso pueda ser realizado. Está
constituida por una multitud de celdas o direcciones de memoria, numeradas de
forma consecutiva, capaces de retener la información necesaria, mientras la
ordenadora esté conectada. El número que tiene asignado cada celda es su

6 CPIFP Los Enlaces. SOM.


dirección de memoria y es el que utiliza el bus de direcciones para acceder a su
contenido.

Las operaciones básicas que se pueden hacer en una memoria son las de lectura y
escritura, para lo cual tiene asociados dos registros que son:

• Registro de direcciones (RD). Contiene temporalmente la dirección de memoria


donde se va a escribir o a leer un dato, según la operación seleccionada.

• Registro de datos (RM). Almacena temporalmente el dato que se intercambia con


la memoria, tanto en el caso de una operación de lectura como de escritura.

1.2.2. Unidad de Entrada-Salida

La Unidad de Entradas-Salida es la encargada de la comunicación con el exterior, es


decir, con de los periféricos. Estos periféricos pueden ser: de entrada, como los
teclados; de salida, como los monitores, y de entrada y salida, como los discos duros.

Esta unidad coordina la comunicación entre los periféricos y la CPU, adecuando las
diferentes características, velocidades, modos de comunicación de los periféricos
para que la CPU sea capaz de trabajar con ellos.

1.3. Firmware
El firmware es un software que viene integrado directamente dentro de un hardware,
es una memoria especial. En definitiva, un conjunto de instrucciones de un programa
informático que se encuentra registrado en una memoria ROM, flash o similar.

Todo firmware debe cumplir tres funciones básicas:


1. Lograr otorgar al sistema las rutinas fundamentales de funcionamiento y respuesta
con respecto a las peticiones usuales que recibe y debe satisfacer al usuario.
2. Establecer una sencilla y cómoda interfaz para poder acometer de forma rápida y
fácilmente la configuración del sistema mediante el uso de una serie determinada
de parámetros.
3. Controlar y gestionar tanto lo que es el arranque del sistema del dispositivo como la
correspondiente iniciación.

7 CPIFP Los Enlaces. SOM.


2. Funciones del Sistema Operativo
Para lograr sus objetivos, el sistema operativo tiene encomendadas una serie de
funciones. Entre estas funciones destacamos las siguientes:
• Administración del procesador.
• Administración de la memoria.
• Gestión de los dispositivos de entrada y salida.
• Administración del sistema de archivos.
• Gestión de ejecución de aplicaciones.
• Detección y tratamiento de los errores.
• Seguridad y protección del sistema.

2.1. Niveles de un sistema Operativo


Atendiendo a estas funciones principales podemos analizar la estructura de un S.O. en
distintos niveles:

(1) Nivel de Núcleo.


1 Gestión del Procesador

2 (2) Nivel Ejecutivo.


Gestión de Memoria
3
(3) Nivel Supervisor.
4 Gestión de Procesos y dispositivos

(4) Nivel de Usuario.


Gestión de usuario y de la Información

Cada de los niveles se comunica con el inmediatamente inferior y superior


coordinando sus funciones.

8
2.1.1. Nivel de núcleo

Es el nivel más cercano al hardware. Es el encargado de la gestión de la CPU.

En los S.O. Multiproceso se encarga de compartir la CPU entre los distintos procesos
realizando entre otras las siguientes funciones principales:

• Sincronización

• Conmutación de la CPU. Gestionar qué procesos llegan a la CPU para ser


ejecutados (planificación de procesos)

• Gestión de interrupciones. Controlar la comunicación con el hardware.

2.1.2. Nivel ejecutivo

Encargado principalmente de Administrar la memoria, esto es, de repartir la memoria


disponible entre los distintos procesos.

Se realizan funciones de:

• Asignación y liberación de memoria. Almacenar los procesos en páginas


(segmentación, paginación, almacenamiento en buffer, etc), tanto en memoria
principal como en disco.

• Control de violación de acceso a zonas de memoria no permitidas.

9
2.1.3. Nivel supervisor

Encargado de la gestión de procesos y la gestión de E/S, algunas de sus funciones son:

• Creación y destrucción de procesos.

• Comunicación entre procesos. intercambio de mensajes, su detección y


arranque.

• Realizar la comunicación de cada proceso entre el sistema y el usuario.

• Controla y coordina la gestión de E/S en función de los periféricos y dispositivos


existentes (almacenamiento y entrada/salida): creación de procesos de E/S,
asignación y liberación de dispositivos de E/S y planificación de la EIS

2.1.1. Nivel usuario

Encargado de controlar los procesos a nivel de usuario y gestionar el espacio de


nombres lógicos y la protección de la información.

Algunas de sus funciones serían:

• mostrar al usuario el proceso que está ejecutando o el que desea ejecutar.

• creación y destrucción de ficheros y directorios,

• apertura y cierre de ficheros,

• lectura y escritura de ficheros,

• protección de acceso

10
3. Gestión de Procesos
Un proceso es un programa en ejecución. No confundir procesos con archivos o
programas (en disco).

Cada proceso se compone de un código que se ejecuta y una estructura de datos


(PCB, Process Control Block), estando ambos cargados en memoria.

La estructura de datos sirve para identificar unívocamente cada proceso y controlar


todos los aspectos de su ejecución.

• Cada estructura contiene básicamente los siguientes datos:

• Estado actual del proceso: En ejecución, esperando, detenido, etc.

• Identificación del proceso: ge le asigna un PID

• Prioridad del proceso

• Zona de memoria asignada.

• Recursos asociados (CPU, etc)

3.1. Estados de un proceso


Un proceso puede encontrarse en uno de estos 3 estados básicos posibles:

• Ejecución: Está ejecutándose, ocupando tiempo de la CPU.

• Preparado: Se le acaba el tiempo y se queda a la espera.

• Bloqueado: Le falta un recurso o señal para poder continuar con la ejecución.

11
3.2. Transiciones de los estados de un proceso
Primero se crea el proceso, se carga el programa en memoria y pasa a estar
preparado o listo.

De preparado pasa a ejecución cuando se asigna tiempo de CPU a ese proceso.

De ejecución pasa a estado preparado cuando se le acaba el tiempo de ejecución y


la CPU va a pasar a ejecutar otro proceso.

De ejecución pasa a estado bloqueado cuando necesita algún elemento (señal,


dato,…) que no tiene asignado.

De bloqueado pasa a preparado cuando acabó la señal, el dato o la operación E/S


por la que estaba esperando

Cuando un proceso está mucho tiempo en memoria en estado preparado o


bloqueado porque le falta un recurso y no se va a usar próximamente, puede pasar a
estadosuspendido, transfiriendo la información del proceso al disco. Cuando sale de
este estado de suspensión vuelve a estado preparado.

Cuando un proceso está ejecutándose y termina de ejecutar todas las instrucciones


que lo forman pasa a finalizado y se borra de memoria.

12
4. Planificación de la CPU
Los Sistemas Operativos Multiprocesador son capaces de gestionar
ordenadores con más de un procesador y ejecutar varias tareas al mismo
tiempo.

Los Sistemas Operativos Monoprocesador son capaces de gestionar


ordenadores con un único procesador, en cada momento sólo puede
procesar una tarea.

En algunos casos el Sistema Operativo puede crear una ilusión y parece que
ejecuta varias tareas de forma simultánea pero, en realidad la CPU salta de una a
otra. Es lo que se conoce como sistema operativo multitarea.Por medio de
interrupciones, el sistema va cambiando de proceso activo cada cierto tiempo
aunque no haya finalizado la ejecución.

El S.O. al compartirla CPU entre los distintos procesos tiene que perseguir los siguientes
objetivos:

• Equidad

• Eficiencia

• Bajo tiempo de respuesta

• Rendimiento alto

• Minimizar el tiempo de espera.

13
5. Gestión de memoria.
Una de la funciones básicas del S.O. es la de hacer ver al usuario que se ejecutan
varios procesos "al mismo tiempo" y para ello, deberá compartir todos los dispositivos
entre los distintos procesos buscando la máxima eficiencia sin que existan problemas
de coordinación.

Cada proceso en ejecución necesita un área de memoria para ubicar tres tipos de
datos:

• el código del proceso (las instrucciones)

• los datos (variables inicializadas)

• y la pila (zona de trabajo durante la ejecución)

El gestor de memoria es la parte del S.O. encargada de asignar la memoria a los


procesos y gestionar su uso. Debe proporcionar protección y uso compartido, esto es,
un espacio de memoria para cada proceso que lo necesite y controlar que ningún
proceso trabaje en zonas de memoria que no le corresponden.

Dos procesos pueden tener una zona de trabajo compartida a la que los dos procesos
tengan acceso. En este caso, el gestor de memoria deberá controlar el acceso a esas
zonas compartidas para que los datos escritos y leídos sean correctos y no se
produzcan colisiones y o lecturas erróneas.

Otra parte del S.O. que ayuda a la gestión de memoria es el administrador de


memoria que se encarga de llevar un registro de las partes de la memoria que están
en uso y de las que no. Si detecta que hay una parte que ya no está en uso, la libera
para poder asignarla a los procesos que la necesiten.

El sistema también debe administrar el intercambio entre la memoria principal y el


disco en los casos en los que la memoria principal no le pueda dar capacidad a todos
los procesos que tienen necesidad de ella.

Existen diferentes técnicas de gestión de memoria:

• Bloques fijos: Paginación

• Bloques variables: Segmentación

• Memoria virtual o zona de intercambio

Los sistemas actuales combinan varias de estas técnicas para la gestión de memoria.

14
5.1. Bloques fijos. Paginación.
La opción más sencilla de realizar asignaciones es dividir la memoria en partes fijas del
mismo o distinto tamaño.

Cuando se cargue un trabajo, se le asignará la partición de memoria más pequeña


disponible que pueda contenerlo.

El problema de este tipo de asignación por particiones fijas es el desaprovechamiento


de memoria que lógicamente se produce, esto es, la fragmentación.

5.2. Bloques variables. Segmentación.


En la práctica las particiones fijas no son muy atractivas, en vez de esto se utiliza un
algoritmo de gestión de memoria basado en particiones variables.

Como las particiones variables el número,posición y tamaño varia de forma dinámica.


La gestión de memoria es mucho más eficiente ya que el tamaño de cada bloque se
adapta a las necesidades de cada proceso, eliminándose la fragmentación interna.

Lógicamente el gestor de memoria será mucho más complejo.

La segmentación es un esquema de gestión de memoria evolucionado que se basa


en particiones variables y presenta varias ventajas:

• Cada segmento puede variar desde 0 hasta un máximo permitido.

• Los bloques de un proceso pueden estar situados en áreas de memoriano


contiguas (datos, pila, código)

• Estos segmentos pueden tener distinta longitud y esta puede variar según las
necesidades del programa de forma dinámica.

• La fragmentación externa se puede eliminar compactando periódicamente la


memoria.

• Permite protección y uso compartido.

5.3. Memoria Virtual. Swapping


En 1961, Fotheringham desarrolla una nueva técnica de gestión de memoria que
denominó Memoria Virtual.

La idea básica es que el tamaño del programa, los datos y la pila combinados pueden
ser mayores que la memoria disponible para ese proceso. El S.O. guarda aquellas
partes del programa de uso comente en la memoria principal y el resto en disco.

15
No todas las partes de un programa se utilizan al mismo tiempo, por lo que pueden
cargarse en memoria únicamente los datos que se piense que se van a utilizar
inicialmente y, posteriormente, ir cogiendo el resto del disco.

Por ejemplo: Si un proceso necesita 1 MB de memoria para su ejecución, se le puede


asignar únicamente 512 KB.

Cuando el Sistema Operativo necesite un bloque de datos que no se encuentre en la


memoria, tiene que pasar un bloque de memoria al disco y traerse del disco el bloque
de datos que necesita; a este proceso se le denomina swapping.

El S.O. decide qué partes del programa puede cargar en memoria, cuándo cargadas
y dónde ubicarlas, corriéndose el riesgo de perder mucho tiempo en accesos al disco
si la elección es errónea.

Las principales ventajas que ofrece la Memoria Virtual son:

• permite trabajar con programas de mayor tamaño que la memoria física.

• permite tener más programas cargados a la vez, esto es, facilita la multitarea.

16
6. Dispositivos de E/S.
Para poder procesar y mostrar la información externa en sus distintas formas, el sistema
informático necesita que haya una comunicación entre las unidades periféricas y los
componentes internos (procesador, memoria, buses).

Para facilitar la conexión de la gran cantidad de tipos de dispositivos periféricos que


podemos encontrar en el mercado, el ordenador dispone de varios interfaces
estandarizados (conectores HW + protocolo SW) y de un hardware (chipset) que
permite la comunicación del micro con la placa y adapta los distintos niveles
eléctricos y modos de comunicación entre los periféricos y los componentes internos
(procesador, memoria, buses).

Además, se añaden tarjetas o circuitos específicos (controlador) para trabajar con


determinados dispositivos.

Sin embargo, además del hardware necesitaremos que alguien (software) coordine las
distintas comunicaciones con los dispositivos y su driver-SW, y ese será nuevamente el
Sistema Operativo (nivel Supervisor).

En resumen, esta parte del SO, tienen como misión gestionar las operacionesde que un
proceso realice sobre un dispositivo externo, ocultándole las peculiaridades del mismo,
gestionando las interrupciones con seguridad y controlando los posibles errores.

El nivel supervisor del SO controla y coordina la gestión de la entrada/salida de los


procesos con los dispositivos periféricos y de almacenamiento externo.

6.1. Clasificación general de los dispositivos de E/S

6.1.1. Según modo de transferencia

Atendiendo a cómo se lleva a cabo la transferencia de información tenemos dos tipos


de periféricos:

• Los dispositivos tipo bloque:

o Trabajan con la información en


bloques o grupo de bits de tamaño
fijo.

o Se pueden direccionar, es decir, es


posible escribir o leer cualquier
bloque independientemente ya
que cada uno tiene una dirección
concreta.

17
• Los dispositivos tipo carácter:

o Trabajan con secuencias de bytes, o


caracteres, sin importar su longitud ni ninguna
agrupación en especial.

o No son dispositivos direccionables.

Nota: Hay que matizar que las transferencias se tendrán que realizar entre el dispositivo
de entrada/salida y la memoria interna del ordenador ya que para que se procese la
información tiene que estar en la memoria interna.

6.1.2. Según sentido de la transferencia

Atendiendo al sentido en el que se efectúa la transferencia de información los


periféricos se clasifican en:

a) Dispositivos de entrada: Sirven para introducir información (datos o programas)


en el ordenador para ser procesada.

b) Dispositivos de salida: Extraen la información del ordenador (resultados,


programas, sonido, …).

c) Dispositivos de entrada/salida: Se emplean para introducir y extraer datos desde


y hacia el ordenador.

6.2. Controladores de dispositivo


Los dispositivos de E/S pueden dividirse en una parte mecánica y una parte
electrónica. Cuando se accede a un dispositivo, se accede siempre a su parte
electrónica, denominada controlador del dispositivo.

El controlador se encarga de mostrar al S.O. un interfaz estándar adaptándose a las


peculiaridades del hardware que está por debajo.Sus funciones son:

a) Sirve de puente entre la velocidad y la incompatibilidad a nivel señales entre la


UCP y los periféricos:

b) Traduce las órdenes genéricas de E/S emitidas por la UCP en controles


específicos del dispositivo.

Un controlador se destina normalmente a manejar uno o más dispositivos del mismo


tipo o similares (ej. discos duros).

18
6.3. Drivers (manejadores de dispositivos)
El software de manejo de los dispositivos está organizado en capas. Las capas
inferiores se encargan de ocular las peculiaridades del hardware y las capas superiores
de presentar un interfaz amigable a los usuarios.

Los drivers se encargan de aceptar las solicitudes abstractasdel software


independiente del dispositivo y ponerse en contacto con el controlador para realizar
esta petición.

Si el dispositivo se encuentra ocupado atendiendo otra petición, el manejador se


encargará de gestionar una cola de peticiones para darles paso tan pronto como sea
posible.

6.4. Modos de gestión de la E/S


Para gestionar las E/S el sistemas puede utilizar diferentes métodos:

• Controlada por programa: El sistema operativo inicializa el dispositivo o


dispositivos y va preguntando su estado. Según el caso se ejecuta uno u otro
programa con las distintas operaciones.

• Controlada por interrupciones: El dispositivo interrumpe la actividad de la UCP y


solicita tiempo. Según el dispositivo que interrumpe se ejecuta uno u otro
programa.

• Acceso directo a memoria:Los dispositivos de alta velocidad se conectan con


la memoria sin pasar por el procesador a través de DMA (Acceso Directo a
Memoria) o procesadores dedicados (ej. tarjeta gráfica).

• Spooling o Buffer:Otros dispositivos son más lentos y en algún caso la información


se envía carácter a carácter, por ejemplo, en las salidas es frecuente utilizar
spooling o buffer, es decir, los datos se almacenan temporalmente en una cola
situada en un dispositivo (área de un disco) hasta que el periférico requerido
quede libre.

19
7. Sistemas de archivos
Entre las funciones de SO también se encuentra la gestión de la información que reside
en el almacenamiento secundario (memoria externa) como es el caso de los discos
duros.

Para manejar esa información los datos se organizan en colecciones de datos llamadas
archivos o ficheros. Un archivo puede contener un documento de un procesador de
textos, un programa ejecutable, un conjunto de órdenes al propio SO, etc.

El SO se encarga de trabajar con los archivos de forma que el usuario se despreocupe de


los aspectos específicos del dispositivo periférico dónde está almacenada la información.

El subsistema encargado de la gestión de archivos es responsable de:

• Convertir las peticiones de acceso a archivos lógicos a las direcciones físicas.

• Transmisión de elementos de archivo (bloques de bits) entre los almacenamiento


principal (RAM) y secundarios (Discos, cintas, …).

• Gestión del almacenamiento secundario a partir de conocer su estado y la


asignación/des-asignación de espacio.

• Controlar el uso compartido y protección de los archivos, así como facilitar la


recuperación y restauración de archivos ante fallos del sistema.

Para facilitar la organización e identificación de los archivos, así como la protección y uso
compartido en entornos multiusuario, se recurre a estructuras jerárquicas(forma de árbol)
compuestas por directorios y archivos.

7.1. Estructura sistema de archivos


Cualquier sistema operativo distingue entre estos tipos básicos de ficheros:

• Ficheros Regulares o Normales: Elementos


lógicos que contienen datos (información).

• Directorios: Aquellos ficheros cuyo


contenido es información sobre otros
ficheros o directorios, normalmente un
vector de entradas con información sobre
los otros ficheros.

• De dispositivo: Existen dispositivos cuya E/S


se realiza como si fuesen ficheros, por lo tanto es razonable asociarles ficheros para
simplificar y hacer más transparente el intercambio de información con dichos
dispositivos.

20
Es la forma de almacenar información y poderla recuperar después, haciendo
transparente al usuario el funcionamiento real de los dispositivos de almacenamiento.

El archivo se identifica por su nombre, cuya longitud y caracteres que admite dependen
del sistema de archivos.

La extensión suele ser de 3 o 4 caracteres de longitud (puede ser más) y no es obligatoria


en todos los sistemas operativos.La extensión determina el tipo del fichero.

La otra característica de los archivos son sus atributos. Varían de un sistema de archivos a
otro. El sistema operativo podrá aportar más o menos información al usuario, así como
llevar a cabo las funciones relativas a protección y uso compartido (permisos).

El árbol es de raíz única, de modo que cada fichero tiene un único nombre de ruta de
acceso. El nombre de ruta de acceso o trayectoriaes la concatenación de los nombres
de directorio y subdirectorios desde el directorio raíz hasta el nombre del fichero.

El directorio raíz es el primero de la jerarquía.

Se define directorio padre de un fichero o subdirectorio como el directorio en el que


seencuentra su entrada de referencia Cada fichero o directorio (a excepción del
directorio raíz)posee un único directorio padre. El directorio padre suele ser referenciado
por los sistemasoperativos con punto punto (..).

Se define directorio hijo de un directorio como el directorio que tiene por padre al
primero. Undirectorio puede contener múltiples directorios hijos, y cada directorio (a
excepción del raíz) eshijo de algún otro.

Se define directorio actual como aquel en el que trabaja el usuario por defecto. Suele
serreferenciado por los sistemas operativos con un punto (.).

Los nombres de ruta de acceso pueden adoptar dos formas alternativas.

• Ruta absoluta, la que hemos definido, por la cual se nombra a cada fichero con
respecto al directorio raíz. Ejemplo →C:\Documentos\Jose\Privado\Carta.txt.

• Ruta relativa, se nombra al fichero con respecto al directorio actual. Para esta labor se
utilizan referencias al directorio padre y al actual.Ejemplo→..\Privado\Carta.txt

7.2. Unidades lógicas


Para identificar desde el sistema de archivos las distintas unidades físicas de
almacenamiento y sus posibles partes, en el caso del disco duro, se utiliza el concepto de
unidad lógica. La unidad lógica es la representación que el SO hace de cada unidad
física o una parte de la misma. Cada unidad lógica albergará su propia estructura
jerárquica. El cómo se gestiona esa estructura depende del sistema de archivos.

21
7.2.1. Unidades lógicas en Windows

En Windows las unidades lógicas se representan con una letra seguida de dos puntos (ej.
D:).

La forma de almacenar la información en las diferentes


unidades dependerá del tipo de información:
• directorio
• subdirectorio
• archivos regulares o ficheros

Para referirnos a un archivo concreto en modo


comando, tendremos que especificar la trayectoria,
teniendo en cuenta la unidad lógica y directorio/s, y la
unidad activa.

Ej. C:\Users\usuario\Resultado.txt

7.2.1. Unidades lógicas en Linux

En el caso de Linux no existe ninguna letra que identifique la unidad lógica.

Toda la estructura de archivos nace de un único directorio raíz que se identifica con el
carácter / (punto de montaje de la partición de sistema cuando instalamos Linux).

Para referirnos a un archivo concreto en modo comando, tendremos que especificar la


trayectoria, teniendo en cuenta solo el directorio. Desaparece el concepto de unidades
lógicas y unidad activa.

Ej. /home/yxz/Mail

22
7.3. Sistemas de archivos (SGA)
El SO debe gestionar el espacio asignado. Esto incluye el control de bloques asignados a
archivos y bloques libres. Ampliar un archivo consume bloques libres y el borrado de
parches o archivos completos produce bloques libres para asignar.

La estrategia para hacer este trabajo debe tener en cuenta varios factores:

a) Velocidad de acceso y la asignación/des-asignación de bloques.

b) Uso eficiente del disco (parte usada para datos reales respecto a datos para el
SGA).

c) Requisitos de memoria principal del modelo de gestión (cantidad de información


para gestión de archivos que se mantiene - directorios) y algoritmos de búsqueda
(organización de la información de gestión de archivos).

El cómo se da respuesta a estas cuestiones constituye el Sistema de archivos (SGA).

Para hacer este trabajo, el SO tendrá que mantener una serie de datos adicionales
(además de la información de los propios archivos) que depende de cada Sistema de
archivos.

Es muy importante conocer los sistemas de archivos que soporta cada SO, además cada
sistema tendrá unas determinadas características respecto a:

- Tamaño máximo de archivo que puede administrar.

- Tamaño máximo de volumen o unidad que puede gestionar.

- Tamaño máximo de nombre de archivo que admite.

- Atributos por archivo que admite.

7.3.1. Sistema FAT

Se caracteriza por mantener una tabla de asignación de archivos (FAT) que incluye un
registro por bloque o cluster del disco. En el registro se indica si el bloque está libre u
ocupado y en este caso, contiene la dirección del siguiente bloque.

Cuando se crea un archivo se crea una entrada la FAT y se le indica el número del primer
bloque o cluster que contiene los datos.

Es una asignación no contigua encadenada, pero que se mantiene en una tabla


independiente.

7.3.2. Sistema FAT16:

23
➢ Admite atributos de lectura, oculto, sistema, modificado.
➢ Utiliza la convención de nombres de archivo 8.3 (8 nombre, 3 extensión). El nombre
debe empezar con una letra o un número y puede contener cualquier carácter
excepto los siguientes: . ” / \ [ ] : ; | = ,
➢ Hay ciertos nombres reservados: CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2,
LPT3, PRN, NUL
➢ No distingue entre mayúsculas y minúsculas.
➢ Recomendable para unidades o particiones de menos de 200 MB. Al aumentar el
tamaño del volumen baja el rendimiento.
➢ Tamaño máximo de archivo hasta 2GB.
➢ Tamaño máximo de partición o volumen hasta 2GB.
➢ Si desde Windows eliminas un archivo puedes recuperarlo si reinicias en modo MS-
DOS.
➢ Accesible desde MSDOS, Windows 95, 98, NT, 2000, XP, Vista, Server 2003 y 2008.

7.3.3. Sistema FAT 32

➢ Mayor número de entradas en el directorio raíz.


➢ Admite nombres largos (255 caracteres).
➢ Uso más eficiente del espacio y mayor robustez que FAT16.
➢ Recomendable para unidades o particiones de más de 200 MB.
➢ Tamaño máximo de archivo hasta 4GB.
➢ Tamaño máximo de partición o volumen hasta 2TB (con limitaciones 32GB en algún
SO).
➢ No admite dominios.
➢ Accesible desde Windows 95 OSR2, 98, 2000, XP, Vista, Server 2003 y 2008 y desde
plataformas Linux (Ubuntu). .

7.3.4. Sistema NTFS

➢ Nombres de hasta 255 caracteres.


➢ Admite mayor número de atributos y funcionalidades como el registro de actividades.
➢ No distingue entre mayúsculas y minúsculas.
➢ Adecuado para volúmenes de 400MB o más.
➢ El rendimiento no disminuye al aumentar el tamaño del volumen.
➢ Tamaño Máximo de archivo el del volumen.
➢ Tamaño Máximo de volumen 16TB.

24
➢ Accesible desde Windows XP/Vista/7, Server 2003 y 2008 y desde la plataforma Linux
(Ubuntu).
➢ Incluye control de transacciones.
➢ Permite gestión de dominios (relacionado con atributos y permisos) en red.
➢ La implementación del SGA se basa en que toda la información está también en
archivos. La Master File Table(MFT= tabla maestra de archivos). Es la base de datos
(compuesta por varios archivos) que incluye todos los datos de los archivos y carpetas
de la partición (nombre, ubicación, atributos,…).
➢ Produce menor nivel de fragmentación que FAT32.
➢ NTFS permite definir el tamaño del clúster, a partir de 512 bytes (tamaño de un sector)
de forma independiente al tamaño de la partición (clúster predeterminado 4KB).

7.3.5. Sistema de archivos extendido 3 (ext3fs)

➢ Nombres de hasta 255 caracteres.


➢ Distingue entre mayúsculas y minúsculas.
➢ Tamaño Máximo de archivo 2TB.
➢ Tamaño Máximo de volumen 32TB
➢ Accesible desde Linux.
➢ Incluye control de transacciones.
➢ La implementación de sistema de archivo está basada en i-nodos. Cada archivo
lleva asociada una pequeña tabla (i-nodo) con los atributos y direcciones en disco de
los bloques del archivo (asignación no contigua por indexación).
➢ Cuando Linux abre un archivo carga en memoria principal su i-nodo, de forma que el
proceso de acceso al archivo sea rápido.

7.3.6. Sistema de archivos extendido 4 (ext4fs)

➢ Nombres de hasta 255 caracteres.


➢ Distingue entre mayúsculas y minúsculas.
➢ Tamaño Máximo de archivo 16TB.
➢ Tamaño Máximo de volumen 1EB.
➢ Accesible desde Linux.
➢ Compatible con ext3.
➢ Incluye control de transacciones.

25
7.3.7. Otros sistemas de archivos

➢ Sistemas de archivos de disco


• UNIX/Linux: ext3/4, Reiser, UFS, etc.
• Microsoft: FAT16, FAT32, NTFS y WINFS.
• SunMicroystems: ZFS.
• OS/2: HPFS y HFS.

➢ Sistemas de archivos de red


• NFS, sistema de Novell Netware para servidores de red
• CIFS para redes Microsoft y SAMBA (sw. libre).
• Otros: AFS, AppleShare, o NSS.

➢ Sistemas de archivos de propósito especial


• CDFS ➔ para CDROM
• DEVFS ➔ para control de archivos de dispositivos en UNIX.
• SWAP ➔ para la zona de intercambio de memoria virtual en UNIX/Linux.

26
8. Clasificación de los Sistemas Operativos.
Según la perspectiva con la que se observen los sistemas operativos, pueden realizarse
múltiples clasificaciones. Entre ellas se pueden incluir las siguientes:

• Monolítica
Estructura interna • Por capas
• Máquina Virtual

Número de procesos • Monotarea


simultáneos • Multitarea

Número de usuarios • Monousuario


simultáneos • Multiusuario

• Monoprocesador
Número de procesadores • Multiprocesador

• Propietarios
Disponibilidad • Libres

• Sistemas Centralizados
Forma de ofrecer los • Sistemas de Red
servicios • Sistemas Distribuidos

• Procesamiento por lotes o


Modos de explotación Sistemas Batch
• Tiempo real

27 ISO-T1.A1
8.1. Estructura interna

8.1.1. Monolítica

Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por


un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que
cada una puede llamar a cualquier otra.

Estos sistemas tienen la ventaja de ser muy rápidos en su ejecución (solo hay que
ejecutar un programa) pero cuentan con el inconveniente de carecer de la
flexibilidad suficiente para soportar diferentes ambientes de trabajo o tipos de
aplicaciones y son difíciles de modificar. Es por esto que estos sistemas operativos
suelen ser hechos a medida, para solucionar un problema en concreto y no para
trabajar de forma generalista.

Ejemplo: UNIX, MS-DOS, Mac OS hasta Mac OS 8.6 y Microsoft Windows 9x

8.1.2. Por capas

A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron


los sistemas, se hizo necesaria una mayor organización del software, del sistema
operativo.

Se dividió el sistema operativo en pequeñas partes, de tal manera que cada una de
ellas estuviera perfectamente definida y con un claro interface con el resto de
elementos.

Es la estructura de la mayoría de los sistemas operativos actuales.

Ejemplos: MULTICS, Venus

28 ISO-T1.A1
8.1.3. Máquina Virtual

Se trata de un tipo de sistema operativo que presenta una interfaz a cada proceso,
mostrando una máquina que parece idéntica a la máquina real.

El objetivo de los sistemas operativos de máquina virtual es el de integrar distintos


sistemas operativos cando la sensación de ser varias máquinas diferentes.

El núcleo de estos sistemas operativos se denomina monitor virtual y tiene como misión
llevar a cabo la multiprogramación, presentando a los niveles superiores tantas
máquinas virtuales como se soliciten. Estas máquinas virtuales, no son máquinas
extendidas, sino una réplica de la máquina real, de manera que en cada una de ellas
se puede ejecutar un sistema operativo diferente, que será el que ofrezca la máquina
extendida al usuario.

8.2. Número de procesos simultáneos


8.2.1. Monotarea

Son aquellos que sólo permiten ejecutar uno de los procesos cargados en la memoria
principal. Cuando se finalice por completo ese proceso, el SS.OO dará paso al
siguiente proceso y así sucesivamente.

Se trata de un sistema de explotación secuencial.

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.

29 ISO-T1.A1
8.2.2. Multitarea

Es aquel que permite al usuario estar realizando varias labores al mismo tiempo. Es común
encontrar en ellos interfaz 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.

Se distinguen dos tipos de procesos multitarea:


• Paralelismo real, en la que el ordenador dispone de una CPU para cada proceso.
• Paralelismo virtual o emulado, cuando el ordenador dispone de una única CPU y el
SS.OO tiene que repartir su tiempo de ejecución entre todos los procesos puestos
en explotación.

8.3. Número de usuarios simultáneos


8.3.1. Monousuario

Son aquellos que soportan a un usuario a la vez, sin importar el número de


procesadores que tenga la ordenador o el número de procesos o tareas que el usuario
pueda ejecutar en un mismo instante de tiempo. Las ordenadores personales
típicamente se han clasificado en esta sección.

Ejemplo: MS-DOS

8.3.2. Multiusuario

Son sistemas operativos que son capaces de dar servicio a más de un usuario a la vez,
ya sea por medio de varios terminales conectados a la ordenadora 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 proceso que cada usuario puede
ejecutar simultáneamente.

Ejemplo: Linux

8.4. Número de procesadores


30 ISO-T1.A1
8.4.1. Monoprocesador o Uniprocesador

Es aquel que es capaz de manejar solamente un procesador de la ordenadora, de


manera que si la ordenadora tuviese más de uno le sería inútil.

8.4.2. Multiprocesador

Es aquel 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:

a) Asimétricamente, el sistema operativo selecciona a uno de los procesadores el


cual será el procesador maestro y servirá como pivote para distribuir la carga a los
demás procesadores, que reciben el nombre de esclavos.

b) Simétricamente, los procesos o parte 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.

8.5. Disponibilidad

8.5.1. Propietarios

Son aquellos que son propiedad de la empresa que los desarrolla. La empresa no
vende en realidad el sistema operativo, sino una licencia de uso del mismo. Con lo
cual, no se tiene acceso al código fuente del sistema, o por lo menos, no se tiene
permiso para modificarlo libremente.

8.5.2. Libres

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


intelectual. Se pueden usar libremente, ser distribuidos, permiten acceso a su código
fuente y se permite su modificación.

No hay que confundir el hecho de ser libre con el hecho de que sean gratuitos. Todo
depende del tipo de licencia.

8.6. Forma de ofrecer los servicios

31 ISO-T1.A1
8.6.1. Sistemas Centralizados

Son aquellos que utilizan los recursos de una solo ordenador, es decir, su memoria,
CPU, disco y periféricos.

El resto de terminales están conectados a la ordenadora central.

El control de los periféricos puede hacerse directamente o a través de un servidor de


terminal.

Estos sistemas ofrecen mayor control de seguridad y son fáciles de mantener, por el
contrario su velocidad de respuestas lenta, la interfaz de usuario poco llamativa,
necesita de un mecanismo de respaldo o copia del sistema en caso de «catástrofe» y
su crecimiento depende de los equipos que soporta.

Respecto al hardware suele tratarse de un ordenador caro y de gran potencia, con


terminales alfanuméricos directamente conectados, suele ser una ordenadora de tipo
desktop, en la cuales lo habitual es tener un monitor grande con un teclado y un ratón.
Este tipo de sistemas operativos se suelen encontrar en un entorno industrial.

8.6.2. Sistemas en Red

32 ISO-T1.A1
Sistema que mantiene a dos o más equipos unidos a través de algún medio de
comunicación, con el objetivo de compartir recursos hardware y software.

Los sistemas operativos en red tienen la capacidad de interactuar con sistemas


operativos en otras ordenadoras por medio de un medio de transmisión con el objeto
de intercambiar información, transferir archivos, ejecutar comandos remotos, etc…

Lo realmente importante es que el usuario puede acceder a la información y recursos


no sólo de su máquina, sino a la de cualquier máquina de la red.

Ejemplo: Windows Server

8.6.3. Sistemas Distribuidos

33 ISO-T1.A1
Es un conjunto 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.

El usuario accede a los recursos remotos de la misma forma 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.

La ventaja principal de los sistemas distribuidos, es que permiten aumentar la potencia


del sistema informático. Además son muy confiables, ya que si un componente del
sistema se estropea otro componente debe ser capaz de reemplazarlo, esto se
conoce como Tolerancia a Fallos. Además permite el crecimiento y su velocidad de
respuesta es rápida.

Las desventajas de estos sistemas son costo, complejidad del SW, soporte local de la
tecnología y mala distribución de los datos.

8.7. Modos de explotación


8.7.1. Procesamiento por lotes

Procesan gran cantidad de trabajo con muy poca o ninguna interacción entre los
usuarios y los programas de ejecución.

Normalmente se usan para programas de largos tiempos de ejecución, los cuales no


pueden ser interrumpidos.

Estos sistemas pueden ser simples debido a la secuencialidad de la ejecución.

Ejemplo: EXEC II desarrollado para la UNIVAC 1107 por CSC

8.7.2. Tiempo real

34 ISO-T1.A1
Son aquellos en donde no tiene importancia el usuario, sino los procesos. Se utilizan en
entornos donde son procesados gran número de sucesos o eventos. Construidos para
aplicaciones muy específicas.

Deben proporcionar tiempos de respuesta rápidos.

Ejemplo: Monitorización médica, control de trenes, control aéreo, etc.

9. Tipos de licencias
Los sistemas operativos, como cualquier aplicación informática, pueden clasificarse de
diferentes formas

9.1. Licencias de Software Libre


Su nombre puede confundir a primera vista al usuario final, ya que el hecho de ser un
libre no implica que sea gratuito; además, tampoco significa que este exento de
regulaciones legales. Una vez aclarado este punto, nos queda mencionar que el
software libre es todo aquel que ofrece a su consumidor el código fuente original; y
además, le otorga la facultad de usarlo, modificarlo y distribuirlo (con o sin
modificaciones).

La filosofía detrás de este tipo de licencia se encuentra sustentada en el beneficio a la


comunidad; esto, a través de la retroalimentación y colaboración entre
programadores. Un ejemplo de este tipo de software es el Kernel de Linux; el cual ha

35 ISO-T1.A1
sido usado por la comunidad como pieza angular en el diseño de sistemas operativos
que operan bajo la licencia de software libre.

A su vez, está licencia puede subdividirse en otras que contienen cláusulas más
específicas. Y se regulan principalmente por algo llamado Copyleft.

Copyleft se puede definir como otra versión del famoso copyright; y está hecho para
regular las licencias de software libre. Normalmente, la función del copyright es evitar
que algún material sea modificado y distribuido por alguien ajeno a la autoría de
dicho producto; sin embargo, esto se contrapone con la filosofía del software libre y es
por ello que nació el copyleft. Así que, esta legislación se encarga de impedir que sea
usado el código fuente sin autorización; y además, define las condiciones bajo las
cuales se puede hacer uso de él.

9.1.1. Licencia de Software libre sin protección Copyleft

Al distribuir un software bajo está licencia, estás autorizando a terceros para no solo
modificar tu producto; si no también, para poder licenciar el mismo bajo sus propios
términos. Esto puede provocar, que un software libre hecho a partir de tu obra y que
estaba destinado a apoyar la comunidad; pueda ser privatizado por algún
desarrollador que lo modifique.

9.1.2. Licencia de Software libre con protección Copyleft

A diferencia de la licencia anterior, está obliga a que los programadores que quieran
redistribuir tu código deban seguir los lineamientos y restricciones que les hayas
impuesto, ni más, ni menos. Por ejemplo, si tu código es de acceso, modificación y
distribución libre; los que se deriven de él también deben estar licenciados bajo los
mismos términos y no podrían ser privatizados.

9.1.3. Licencia GPL (Licencia Pública General Reducida GNU)


Es una licencia de derecho de autor ampliamente usada en el mundo del software
libre y código abierto, y garantiza a los usuarios finales la libertad de usar, estudiar,
compartir (copiar) y modificar el software. Su propósito es doble: declarar que el
software cubierto por esta licencia es libre, y protegerlo de intentos de apropiación
que restrinjan esas libertades a nuevos usuarios cada vez que la obra es distribuida,
modificada o ampliada. Es un ejemplo de software libre con protección copyleft; sin
embargo, sus términos le permiten integrarse con módulos de software no libre y
también poderse comercializar. Ya que está licencia declara de forma explícita que
cualquier obra con licencia GPL puede ser vendida a cualquier precio o distribuida
gratuitamente; dando así libertad a las empresas para beneficiarse con el uso de su
extenso acervo de librerías; o bien, seguir aportando más software gratuito a la
comunidad.

36 ISO-T1.A1
9.1.4. BSD (Distribución del Software Berkeley)

Este tipo de licencia puede considerarse como de las más permisivas en el software
libre; ya que a pesar de imponer restricciones, no se compara en absoluto con los
casos anteriores. Los principales lineamientos de esta licencia son la libertad para
poder comercializar el software libremente, no hay obligación de compartir tu código
fuente, y se garantiza el crédito para los desarrolladores que participaron en su
elaboración.

9.1.5. Licencia tipo MPL

Se asemeja a la licencia BSD que vimos anteriormente; sin embargo, está es menos
permisiva con las distribuciones y se considera un término medio entre licencias BSD y
las licencias GNU. Sus lineamientos te obligan a entregar al creador original del código
tus modificaciones; y te permite solo licenciar los archivos binarios.

9.2. Licencia de Dominio Público


Puede incluso no ser clasificada como licencia, ya que básicamente, se establece
este adjetivo se da a todo aquel software que es distribuido sin ningún tipo de
restricción hacia el usuario final. Por lo tanto, su código puede ser modificado, usado y
distribuido por cualquiera; y además, los mismos usuarios tienen la capacidad de
licenciar sus redistribuciones libremente a como mejor les convenga.

9.3. Software Semi-Libre


Está clasificación ofrece el contenido al consumidor de forma gratuita para su uso,
distribución, copia e incluso, en algunos casos se le permite hacer modificaciones. Sin
embargo, no se les considera software libre y no permite que se pueda lucrar con
dicho material, ya sea una copia o modificación.

9.4. Licencia Freeware


A pesar de tener una condición de “gratuitos”, este tipo de programas no entran
dentro de la clasificación de software libre. Y aunque existen posturas distintas sobre la
definición del Freeware; la definición más aceptada es al siguiente. Se trata del libre

37 ISO-T1.A1
derecho al uso y copia de un software bajo los términos que defina el autor de dicho
programa; y a su vez, no permiten bajo ninguna condición su modificación o venta por
parte de terceros. Un ejemplo de este tipo de licencia, son aplicaciones como
CCleaner, Adobe Flash o Adobe Reader. Estos tipos de licencia pueden tener
variantes especifícas como: Donationware y Postcardware que veremos a
continuación.

9.4.1. Licencia Donationware


Gracias al nombre se pueden intuir los términos y condiciones que establece está
licencia. Misma, que ofrece al usuario todos los derechos que la licencia Freeware; sin
embargo, se le invita al usuario final a realizar un donativo en favor de continuar el
desarrollo de dicha aplicación. Cabe mencionar que dicho donativo no es obligatorio
y tampoco condiciona al uso del producto.

9.4.2. Licencia Postcardware

Como su nombre lo indica, está licencia invita al usuario para enviar una carta postal
una vez adquirido el producto; pero al igual que con la licencia Donationware, no es
un requisito oblitario de cumplir y/o que condicione al uso del software en cuestión.

9.4.3. Licencia Shareware

Esta licencia en particular puede subdividirse en otras debido a sus condiciones. Ya


que permite al usuario poder hacer uso de los programas por un tiempo limitado; o, en
algunos casos puede usarse permanentemente, pero con funciones limitadas. Un
obstáculo que solo puede ser sorteado si se paga una cierta cantidad por la versión
completa; y además, no permite ningún tipo de modificación al no incluir su código
fuente. Y debido a estas condiciones, los tipos de licencia que abarca son los
siguientes: Trial, Demo y Adware.

• Trial: es el nombre que se le da a la licencia de un programa de pago que tiene


todas sus funciones activas; pero, solo por un período de tiempo limitado. Ejemplos
más populares: paquetería de Adobe, Sony Vegas, Kaspersky, etc.

• Demo: este tipo de licencia permite al usuario hacer uso del producto por tiempo
indefinido, pero con la mayoría de sus funciones restringidas. Videojuegos, etc.

• Adware: está clasificación se le da a aquellos programas comerciales que puedes


utilizar de forma gratuita; pero que a cambio, descargan publicidad o que cuentan
con versiones más avanzadas del mismo producto que requieren de ser
compradas. A menudo en las aplicaciones para móviles existen las versiones de
pago, sin publicidad y las gratuitas con banners promocionales, o piden descargar
otras aplicaciones que se publicitan para continuar usándola.

9.4.4. Licencia CRIPPLEWARE

Su nombre expresa su principal característica (cripple es traducido como amputado),


ya que sirve para clasificar a todos aquellos programas cuyas funciones se encuentran

38 ISO-T1.A1
limitadas frente a la versión “completa” o avanzada. Es algo muy común en el caso de
antivirus con sus versiones lite u otro software que buscan ser de utilidad en equipos
viejos, con un hardware mucho más limitado.

9.4.5. Licencia Abandonware

El caso de esta licencia es muy particular, ya que implica que un proyecto ha sido
abandonado por su autor, y este ha decidido liberarlo de todos los derechos de
copyright. Al pasar esto, los productos suelen ser retirados del mercado y tomados por
desarrolladores independientes, quienes se encargan de realizar modificaciones y
compartirlas con la comunidad.

Hay un punto que se debe destacar con dicha licencia, y es que, un programa que se
encuentre descontinuado o carezca de soporte técnico con el paso de los años, no lo
convierte automáticamente en abandonware. Para esto, el autor debe anunciar
públicamente el cambio de licencia en su proyecto, de lo contrario, seguirá protegido
por derechos de autor y será ilegal cualquier modificación hecha al mismo.

9.4.6. Licencia Careware

Podría asemejarse un poco a la licencia Donationware; sin embargo, en el caso de


está, se solicitan donativos no para financiar al proyecto, si no para apoyar causas
humanitarias, caridad y otras campañas relacionadas. De ahí que su nombre se
integre con la palabra anglosajona care que se puede traducir como “cuidado” o
“protección”. El software bajo estos tipos de licencia permite al usuario poder copiarlo
y modificarlo sin restricciones; son normalmente distribuidos de forma gratuita, por lo
que los donativos suelen ser opciones optativas y no obligatorias.

9.5. Licencia de Software Propietario


Se trata de una clasificación donde el autor del proyecto limita los derechos de copia,
modificación y redistribución de su proyecto. Y en caso de que el usuario final desee
llevar a cabo cualquiera de estas acciones, requiere de pagar una cierta cantidad al
autor para tener derecho a hacerlo.

39 ISO-T1.A1
Dentro de los sistemas operativos comerciales, propietarios y privativos, nos podemos
encontrar con diversos tipos de licencia de uso:

9.5.1. 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.

9.5.2. RETAIL

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


licencia, podemos instarlo 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.

9.5.3. 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,

40 ISO-T1.A1
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.

9.5.4. 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.

41 ISO-T1.A1

También podría gustarte