UT1 - SISTEMAS OPERATIVOS Parte 1
UT1 - SISTEMAS OPERATIVOS Parte 1
UT1 - SISTEMAS OPERATIVOS Parte 1
2021
1.1 INTRODUCCIÓN
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
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.
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:
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.
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 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.
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.
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).
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.).
6
1.5 COMPONENTES DEL SISTEMA OPERATIVO
Gestión de
archivos
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:
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.
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.
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.
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:
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.
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.
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.
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.
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:
15
O.E.M.
Estas licencias son las más económicas, y suelen poseer restricciones especiales,
aparte de venir sin manuales ni caja.
RETAIL
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.
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.
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