Está en la página 1de 32

UD.

2
Sistemas Operativos:
Elementos y Estructuras.
1. El Sistema Operativo.
El sistema operativo, por la función que realiza, lo consideramos software
de base.
El sistema operativo es un conjunto de programas que se inician al
arrancar el ordenador y cuya función principal es desvincular al usuario de
las características del hardware de su equipo, es decir simplificar al
usuario el uso el ordenador.

Las principales funciones son:


Gestionar de forma eficiente los recursos hardware y software del
sistema informático.
Desvincular al usuario de las particularidades del hardware de su
equipo.
Controlar y administrar la ejecución de programas.
Controlar y administrar el sistema de archivos.
Detectar e intentar solucionar los errores que se puedan producir.

El usuario se comunica con el ordenador a través de las interfaces de


usuario, que se diferencian entre interfaces y en modo texto.
2.
Tipos de Sistema
Operativo
2.1. Tiempo de respuesta.
El tiempo de respuesta es el que transcurre desde que un proceso de un
usuario llega al sistema hasta que el usuario obtenga una respuesta o
unos resultados.

Según este criterio los sistemas operativos se puede clasificar en:


Procesamiento por lotes: Los procesos se ejecutan secuencialmente
uno tras otro. El tiempo de respuesta no es importante y suele ser
alto, por lo que actualmente no son utilizados.
Interactivos: Los procesos se ejecutan y pueden pedir información al
usuario a través de la pantalla y recibirla por teclado. El tiempo de
respuesta es menor al anterior. Utiliza la técnica que se conoce como
tiempo compartido, en el que el procesador divide su tiempo entre
todos los procesos.
Tiempo real: Los procesos requiere un tiempo de respuesta muy bajo,
casi inmediato. Estos sistemas se utilizan en campos donde un tiempo
de respuesta alto implicaría graves consecuencias, por ejemplo, tráfico
aéreo, sistemas médicos, sistemas bancarios, etc.
2.2. Número de usuarios.
El número de usuarios que pueden utilizar el sistema operativo
simultáneamente.

Según este criterio los sistemas operativos se puede clasificar en:


Monousuario: Solamente un usuario puede utilizar el sistema
informático, para el que están disponibles todos los recursos tanto
hardware como software. No importa en número de procesos y
procesadores del sistema.
Multisuarios: Varios usuarios simultáneamente pueden utilizar el
sistema informático, lo que conlleva que se tengan que repartir los
recursos entre ellos.

Un sistema informático que haya varios usuarios y cada uno lo utilice en


un momento determinado sería monousuario.
2.3. Número de procesos.
El número de procesos hace referencia a los procesos, es decir, programas
que pueden estar ejecutándose
simultáneamente.

Según este criterio los sistemas operativos se puede clasificar en:


Monotarea: También llamado monoprogramación. La CPU está
disponible para cada tarea hasta que finalice su ejecución, y cuando
empiece la siguiente tarea la CPU está totalmente disponible para la
tarea nueva.
Multitarea: También llamados multiprogramación. Permite ejecutar
varios programas a la vez. El sistema irá ejecutando las tareas o
programas por tiempos, de forma que el procesador nunca está
parado. Para ello, utilizará algún algoritmo de planificación de las
tareas o procesos.
2.4. Número de procesadores.
El número de procesadores hace referencia a los procesadores que tenga
instalado el equipo informático. Sin embargo, aunque el equipo tenga más
de un procesador instalado, es necesario que trabaje bajo un sistema
operativo que pueda utilizarlos .

Según este criterio los sistemas operativos se puede clasificar en:


Monoproceso: Solamente pueden trabajar con un único procesador,
aunque el sistema informático que tenga instalado más de uno.
Multiproceso: Pueden trabajar con varios procesadores. Si un sistema
informático está montado con un único procesador, el sistema
operativo se comportaría como un monoproceso. Puede ser de dos
tipos.
Simétricos: El sistema operativo trabaja indistintamente con
cualquier procesador.
Asimétricos: El sistema operativo selecciona a uno de los
procesadores que el asigna el papel de Maestro y será el
encargado de distribuir el trabajo al resto de procesadores.
Actividad
Evaluable 1
3. Estructura del Sistema Operativo.
Atendiendo a su estructura interna, los sistemas operativos se pueden dividir en:
Monolíticos: No están estructurados, sino que están formados por un
programa que consta de un conjunto de funciones o procedimientos
interrelacionados entre sí. Su modificación o búsqueda de errores es muy
laboriosa.
En niveles o capas: Están estructurados en diferentes niveles o capas, cada
uno de los cuales tiene una función claramente definida y una interfaz con la
que se comunican los niveles adyacentes entre sí. El nivel más bajo es el
que interactúa directamente con el hardware y el más alto es donde el
usuario ejecuta sus programas y aplicaciones.
Máquina virtual: Presentan a cada proceso una máquina que parece idéntica
a la máquina real. Estos sistema operativos deben ser multitarea y su
objetivo es poder instalar sobre un mismo equipo diferentes sistemas
operativos.
Cliente - Servidor: Los procesos del sistema operativo pueden ser tanto
clientes como servidores. Un programa de un usuario que se está
ejecutando sería un proceso cliente, que pide al sistema operativo servicios
que serían los procesos servidores.
4.
Funciones del
Sistema Operativo
4.1. Gestión de Procesos.
Un proceso es programa que está en ejecución. Cada vez que se manda a
ejecutar un programa se crea un proceso. El sistema operativo debe realizar una
gestión adecuada de los recursos del sistema para la correcta ejecución de los
procesos.

Procesos.
Cada vez que se ejecuta un programa se crea una estructura de datos llamada
Bloque de Control de Proceso (BCP). Esta estructura, dependiendo del sistema
operativo, contiene la siguiente información:
PID (Process Identificator): Es un número entero único y diferente en cada
proceso.
Estado: Indica el estado en el que se encuentra el
proceso. Prioridad.
Recursos asignados.
Valores de los registros del procesador.
Propietario.
Permisos.
4.1.1. Servicios del sistema.
Los servicios de un sistema operativo son procesos que proporcionan una
determinada función a los usuarios.

Cualquier sistema operativo, para empezar a funcionar y para terminar, necesita los ser
arranque del sistema.

Arranque: Estos servicios preparan al sistema operativo para que pueda ser
explotado y utilizado por los usuarios.
Parada: Estos servicios tienen como finalidad dejar al sistema en un estado
que pueda volver a arrancar sin problemas.

Además de estos servicios, un sistema operativo proporciona mucho más


servicios.
4.1.2. Algoritmos de planificación de procesos.
En los sistemas operativos multitarea, los procesos aparentemente se ejecutan a
la vez, pero si solo hay un único procesador, este se tiene que distribuir entre
todos los procesos que se están ejecutando.

A la forma en que la CPU se distribuye para ejecutar los procesos se le llama


planificación.

Los estados en los que se puede encontrar un proceso son:


Listos, en espera o preparados: El procesos está preparado para ejecutarse,
es decir, está en espera a que el proceso que se está ejecutando deje libre
la CPU.
Bloqueados: El proceso está esperando un recurso que está siendo utilizado
por otro proceso.
En ejecución: El proceso está ejecutando sus instrucciones en ese momento,
es decir está ocupando la CPU.
4.1.2. Algoritmos de planificación de procesos.
Transiciones de estado de los procesos:
Cuando un proceso pasa de un estado a otro, se produce una transición de estado.

De ejecución a bloqueado: Al iniciar una operación de E/S.


De ejecución a listo: Cuando el proceso que está haciendo uso de la CPU lleva demasiad
De listo a en ejecución: Cuando lo requiere el planificador de la CPU.
De bloqueado a listo: Se dispone del recurso por el que se había bloqueado el procesos

Existen dos principales tipos de planificaciones:


Expulsiva: Un proceso puede ser desalojado de la CPU sin que haya
finalizado, y se queda en la cola de procesos en espera.
No expulsiva: Un proceso no puede ser desalojado de la CPU hasta que
termina o se bloquea porque necesita un recurso no disponible.
4.1.2. Algoritmos de planificación de procesos.
A la operación de desalojar un proceso de la CPU para que otro empiece a
ejecutarse se le denomina cambio de contexto.
Existe una serie de algoritmos de planificación que le indican al planificador qué proces
maximizando la utilización de la CPU

En cada algoritmo sabremos de cada


proceso:
Tiempo de entrada o de llegada al sistema (TI): Es el momento en el que el
proceso entra en el sistema.
Tiempo de ejecución (TX): Es el tiempo que el proceso necesita para su
ejecución total.
Tiempo de respuesta o de retorno (TR): Es el tiempo que pasa desde que el
proceso llega al sistema hasta que se obtienen los resultados.
Tiempo de espera (TE): Es el tiempo que el proceso pasa dentro del sistema
en espera.
TE= TR- TX
Para saber si el algoritmo es más o menos óptimo debemos saber los tiempos
medios tanto de respuesta como de espera.
4.1.2. Algoritmos de planificación de procesos.
Tipos de algoritmos de planificación:
Algoritmo primero en entrar primero en salir: FIFO (First Input, First Output)
o FCFS (First Come, First Served): Los procesos se ejecutan en orden de
llegada. El primero que llega se empieza a ejecutar, y los siguientes deberán
esperar su turno para poder empezar a ejecutarse.

EJEMPLO: Calcular los tiempos de espera y de respuesta de cada proceso y los


tiempos medios, utilizando este algoritmo.

PROCESO TIEMPO DE TIEMPO DE


LLEGADA EJECUCIÓN

P1 0 7

P2 2 4

P3 4 3

P4 6 2
4.1.2. Algoritmos de planificación de procesos.
Tipos de algoritmos de planificación:
Algoritmo primero el más corto SJF (Short Job First): El proceso más corto
de los que están esperando para usar la CPU. En el caso de igual tiempo, se
aplica el FIFO. Favorece a los procesos que tarden menos tiempo en
ejecutarse.

EJEMPLO: Calcular los tiempos de espera y de respuesta de cada proceso y los


tiempos medios, utilizando este algoritmo.

PROCESO TIEMPO DE TIEMPO DE


LLEGADA EJECUCIÓN

P1 0 7

P2 2 4

P3 4 3

P4 6 2
4.1.2. Algoritmos de planificación de procesos.
Tipos de algoritmos de planificación:
Algoritmo primero el tiempo restante más corto SRTF (Short Remaining Time
First): Los procesos que están en espera al que le quede menor tiempo para
terminar. En caso de empate, se utiliza FIFO. Este algoritmo es expulsivo, ya
que si mientras se está ejecutando un proceso llega otro que le quede
menos tiempo para acabar que el que está utilizando la CPU en ese
momento lo desplaza, es decir se produce un cambio de contexto. Favorece
a los procesos con menor tiempo de ejecución y mejora los tiempos medios
en general. Sin embargo, perjudica a los procesos que necesitan más
tiempo.

EJEMPLO: Calcular los tiempos de espera y de respuesta de cada proceso y los


tiempos medios, utilizando este algoritmo.

TIEMPO DE TIEMPO DE
PROCESO
LLEGADA EJECUCIÓN
P1 0 7
P2 2 4
P3 4 3
P4 6 2
4.1.2. Algoritmos de planificación de procesos.
Tipos de algoritmos de planificación:
Algoritmo por prioridades: Asocia a cada proceso una prioridad. El orden de
entrada en la CPU será según su prioridad, y en el caso de empate se
aplicará el FIFO. Este algoritmo puede ser expulsivo o no expulsivo y
también se le puede ir cambiando la prioridad a un proceso, haciéndolo
más prioritario a medida que lleve más tiempo esperando a la CPU, para
evitar que procesos poco prioritarios se queden si poder hacer uso de la
CPU. La prioridad cuanto más baja sea , el proceso será más prioritario,
pudiendo haber más de un proceso con la misma prioridad. Este
algoritmo optimiza el tiempo de respuesta de los procesos más prioritarios.

EJEMPLO: Calcular los tiempos de espera y de respuesta de cada proceso y los


tiempos medios, utilizando este algoritmo por prioridades no expulsivo y
expulsivo.
TIEMPO DE TIEMPO DE
PROCESO PRIORIDAD
LLEGADA EJECUCIÓN
P1 0 7 4
P2 2 4 2
P3 4 3 1
P4 6 2 3
4.1.2. Algoritmos de planificación de procesos.
Tipos de algoritmos de planificación:
Algoritmo de operación por rondas RR (Round Robin): Da tiempo de
ejecución a cada proceso que esté en espera. Se debe establecer untiempo o
quantum (q), tras el cual el proceso abandona la CPU y da paso al siguiente,
siguiendo el orden FIFO. Para este algoritmo es necesario que el cambio de
contexto sea muy rápido. Si no hubiera procesos en espera el que está la
CPU seguiría hasta que llegara alguno. Cuando el proceso agota su quantum
pasa al final de la cola de procesos listos. Después de aplicar el algoritmo
FIFO en la cola de listos, se elegirá el orden de llegada a la cola. Es un
algoritmo expulsivo.

EJEMPLO: Calcular los tiempos de espera y de respuesta de cada proceso y los


tiempos medios, utilizando este algoritmo con q=2.
TIEMPO DE TIEMPO DE
PROCESO
LLEGADA EJECUCIÓN
P1 0 7
P2 2 4
P3 4 3
P4 6 2
Actividad
Evaluable 2
Actividad
Evaluable 3
Actividad
Evaluable 4
Actividad
Evaluable 5
4.2. Gestión de memoria.
Los procesos que se ejecutan en el sistema necesitan que se le asigne una zona
de memoria para su ejecución, que se le proteja esa zona de otros accesos o
poderla compartir si fuera necesario y una vez que terminan el sistema debe
liberar la memoria que le asignó al proceso.

Dependiendo de si el sistema es monotarea o multitarea, las técnicas de gestión


de memoria serán distintas.

En los sistemas monotarea, se van ejecutando los procesos uno a uno. Hay que
tener en cuenta que en la memoria debe haber una zona para la parte residente
del sistema operativo y otra para el proceso que se esté ejecutando en ese
momento.

En los sistemas multitarea, se pueden ejecutar varios procesos a la vez, siendo


necesario dividir la memoria entre los procesos, con lo que habrá que crear
diferentes particiones y asignarle una a cada proceso.
4.2. Gestión de memoria.
Las siguientes técnicas se utilizan en sistemas operativos multitarea:
Particionamiento: La forma de particionar la memoria principal podrá ser
mediante:
Paginación: Las particiones son de tamaño fijo y se les llama páginas.
Segmentación: Las particiones son de tamaño variable y se les llama
segmentos.
Intercambio (swapping): Cuando un proceso queda suspendido, hay que
desalojarlo de la memoria para alojar en ella otro proceso. Este proceso se
guarda en la memoria secundaria y el nuevo proceso se carga en la memoria
principal.
Compartición: Cuando se ejecutan dos o más procesos iguales o que
participen en la ejecución de un mismo programa, se debe permitir que los
procesos compartan memoria para evitar la redundancia de procesos.
Reubicación: Cuando un proceso suspendido que fue alojado en la memoria
secundaria y vuelve a cargarse en la memoria principal, no necesita cargarse
en la misma partición, sino puede cargarse en otra partición diferente.
Memoria virtual: Carga en memoria principal la parte del proceso que se esté
ejecutando en ese momento y la parte del proceso que no se ejectute se
cargará en la memoria secundaria.
4.3. Gestión de E/S.
El sistema operativo debe gestionar los dispositivos de E/S, como los periféricos
y las memorias auxiliares, a través de las direcciones de E/S.

Interrupción y rutina de atención: Una interrupción se produce cuna algún


elemento hardware produce una señal al sistema. Esta señal se le llama IRQ
(Interrupt Request), y su función es interrumpir el trabajo del procesador
para destinarlo a otra actividad. Ejemplo, cuando utilizas el ratón o el
teclado.

Acceso directo a memoria (DMA): Es realizada por ciertos periféricos cuando


la cantidad de información que se quiere transferir es grande. Consiste en
suprimir el acceso mediante las IRQ y las direcciones de E/S, para realizar la
transferencia de información a través de unas líneas especiales llamadas
DRQ (DMA Request). El acceso a memoria es mucho más rápido y eficiente,
dejando libre al procesador para que realice otras tareas. Ejemplo, discos
duros, tarjetas gráficas.
4.3. Gestión de E/S.
Técnicas que mejoran el rendimiento del sistema respecto a la gestión de la E/S:
Caching: Consiste en almacenar un una caché temporal, de rápido acceso,
los datos más frecuentemente solicitados o enviados a un dispositivo de E/S.

Buffering: Consiste en utilizar un área de memoria como buffer, simulando


un dispositivo o un periférico lógico, que hará de periférico intermedio entre
el periférico real y el procesador. Esto evita que un periférico lento afecte al
rendimiento del equipo informático.

Spooling: Consiste en gestionar los periférico del ordenador de forma


simultánea.
4.4. Gestión de archivos.
Un archivo o fichero es un objeto que representan la unidad lógica de
almacenamiento de informaicón. Se representa mediante un nombre.

Los directorios se pueden considerar un tipo de fichero especialque contiene


otros ficheros o directorios.

Los ficheros se caracterizan mediante una serie de atributos, como el nombre, el


tamaño, la fecha de creación y modificación, propietario, permisos (Lectura,
escritura,ejecución).

Con un fichero se pueden realizar una seire de operaciones, como crear, abrir,
leer, escribir, cerrar, borrar y obtener información sobre él.

Sistemas de archivos: Se encarga de gestionar los archivos del sistema


operativo. La mayoría de los sistemas operativos tienen una estructura
jerárquica, en el que los directorios parten de un directorio llamado raíz, y del
que cuelga todos los demás en forma de árbol.
4.4. Gestión de archivos.
Los sistemas de archivos más utilizado son:
FAT: Tabla de asignación de ficheros (File Allocation Table). Se introdujo a
partir del MS-DOS. Existen dos tipos:
FAT16: El tamaño de las particiones no psupera los 2GB, y el nombre de
los ficheros es de 8 caracteres y su extensión de 3.
FAT32: Se introdujo a partir del sistema operativo Windows 95. Puede
soportar particiones de mayor tamaño y el nombre de los archivos
puede tener más caracteres.

NTFS: Sistema de archivos de nueva tecnología (New Technology File


System). Introduce mayor seguridad, mayor estabilidad y mayor tamaño de
los archivos. Se utiliza en las versiones posteriores a Windows NT.

EXT2, EXT3, EXT4: Sistemas de archivos soportado por la mayoría de las


distribuciones Linux. Estos sistemas de archivos utilizan lo que se conoce
como i-nodo. Cada fichero se identifica por un número entero de i-nodo
único en el sistema de archivos. Es una tabla con una estructura de datos
para cada fichero, donde se recoge dónde está almacenado, su tamaño,
dirección de los bloques usados, propietario, fecha creació y modificación.
5. Secuencia de arranque del ordenador.
La secuencia de arranque de un ordenador es un proceso que se lleva a cabo median
apagado se denomina bootstrapping o booting.

Desde la memoria no volátil del tipo EPROM se carga el firmware encargado


de comprobar el estado del hardware, determinar su configuración e inicar el
proceso de arranque.
Si no hay errores, carga un código llamado bootstrap o bootloader en el
MBR (Mater Boot Record, Registro de arranque masivo). Examina la tabla de
particiones, lee el sector dearranque de la partición y ejecuta el código
almacenado en ese sector de arranque.
Una vez cargado el sistema operativo, este comienza con un test del sistema
de archivos, crea las estructuras de datos internas necesarias para el
funcionamiento del sistema operativo y comienzan arrancar los procesos del
sistema.
Una vez arrancados los procesos del sistema, el equipo ya está en
funcionamiento y a la espera de que el usuario lo utilice y empiece a
ejecutar sus propios procesos.
¡Liga de
Kahoot!

También podría gustarte