Está en la página 1de 26

Los sistemas operativos

INDICE DE CONTENIDOS

Los sistemas operativos y su evolución.


Componentes.
La gestión de procesos.
La gestión de memoria.
La gestión del almacenamiento.
IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 2

Los Sistemas Operativos y su evolución

La informática

Este término viene de información y de automático. Tratamiento automático de la información. Según


la real academia de la lengua: el conjunto de conocimientos científicos y técnicas que hacen posible
el tratamiento automático de la información por medio de ordenadores.

Dentro de los sistemas informáticos tenemos que distinguir dos tipos de elementos bien
diferenciados. El hardware y el software. El hardware es la parte física del ordenador mientras que el
software es la parte no tangible, los programas. Dentro del software se pueden distinguir dos tipos de
software; el de base y el de aplicación. El software de aplicación hace referencia al que su tarea es
procesar información de forma personalizada. Son aplicaciones por ejemplo OpenOffice. El software
de base son los sistemas operativos. Hacen mas fácil la utilización de la máquina.

Sistema Operativo

El sistema operativo es el encargado de gestionar los recursos y programas. Nos permite utilizar el
software de una manera cómoda y gestionar más adecuadamente los recursos del Hardware. Es un
programa de control que tiene por objeto facilitar el uso de la computadora y conseguir que ésta se
utilice eficientemente.

La evolución histórica de los Sistemas Operativos

Los primeros sistemas operativos, tenían un esquema monolítico (un programa global, por lo
que no existen módulos, pero eso sí, eran poco complejos). A pesar de ser poco complejos, eran
difíciles de mantener ya que no usaban programación modular. Hoy en día, existen sistemas
operativos con esquema monolítico que hay que compilarlos cada vez que añadimos funcionalidades
nuevas. La ventaja es que son muy rápidos y consumen menos recursos.

Posteriormente se crea el sistema operativo basado en la estructura por niveles o capas .


Cada parte del sistema operativo se encarga de una función. Esta característica permite depurar de
una forma simple y además permite añadir nuevos módulos sin tener que variar la estructura básica
(mantenimiento).

Historia
Los sistemas operativos han estado siempre relacionados con las arquitecturas de los ordenadores.
De forma genérica podemos hablar de varias generaciones de sistemas operativos:

 Primera generación (1950-1960). En esta época, se utilizaban las válvulas de vacío (antiguas
resistencias electrónicas) para la construcción de las computadoras. Estas máquinas eran
programadas en lenguaje máquina puro. Eran de gran tamaño, consumían mucha energía y eran
muy lentas en el tratamiento de las operaciones, que se reducían a cálculos matemáticos. A
principios de los años cincuenta, para introducir datos al ordenador se utilizaban tarjetas
perforadas. Anteriormente, toda la información que se debía procesar se introducía de forma
manual. No existen sistemas operativos como tales.

 Segunda generación (1960-1964). Se integraron transistores dentro de la arquitectura de las


computadoras. Por otro lado, cada persona del equipo informático que hacía funcionar la máquina
se encargaba de realizar una labor concreta.

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 3

En esta generación aparece lo que se denomina procesamiento por lotes, (se ejecuta proceso a
proceso) que consiste en que los datos son introducidos al ordenador que los va a procesar por
otro pequeño ordenador o sistema de captura de datos. Este proceso constaba de tres labores
fundamentales:

1. Introducir los datos que se iban a procesar en un soporte de información, que inicialmente
fueron las tarjetas perforadas o la cinta magnética y posteriormente los soportes magnéticos.
La introducción de datos se realizaba en un medio físico distinto de la computadora.
2. Llevar el soporte cargado con los datos a la computadora para que la procesara. Procesada
la información, se almacenaba en otro soporte diferente.
3. Llevar el soporte donde están los resultados a otros dispositivos físico distinto a la
computadora para realizar la generación de resultados.

 Tercera generación (1964-1974). Se reduce considerablemente el tamaño y consumo de


energía de los ordenadores gracias a los circuitos integrados. Por otro lado, son más baratos y
más rápidos.

Es de destacar el IBM 360 como máquina capaz de realizar cualquier tipo de cálculo.
Aparece el concepto de multiprogramación; es decir, permitir que una máquina esté realizando
varios procesos a la vez. También aparecen las técnicas de spool, gracias a las cuales se
almacenan trabajos en colas de espera. De esta forma, se podían realizar varios programas, ya
que cuando finalizaba uno, el sistema operativo podía cargar otro en memoria para ejecutarlo.
Así, para gestionar estos grandes ordenadores, era necesaria la construcción de un software
básico que controlase y relacionase los diferentes componentes del ordenador. Este sistema
operativo era complicado, con gran cantidad de errores y con pocos recursos.
 Cuarta generación (1974 hasta hoy). Es la generación de las computadoras personales. Se
utilizan complejas técnicas de integración de componentes electrónicos. Aparecen las memorias
de semiconductores, que son mucho más rápidas y de mayor capacidad.

Aparecen sistemas operativos mucho más fáciles de usar, es decir, con mayores posibilidades.
Para ello, se crean interfaces sencillas de comunicación entre usuario y máquina.
Surgen sistemas operativos monousuario como el MS-DOS, sistemas operativos en red como el
UNIX, y algunos como Windows 1.0 que permiten un diálogo con el ordenador basado en
entornos gráficos. Estos sistemas operativos actuales son de elevada potencia, sobre todo en la
gestión de hardware y en la utilización y distribución de programas y datos en memoria.

Los sistemas operativos más conocidos por los usuarios de a pié se puede resumir en los siguientes:

• MS-DOS (1981), que es un sistema operativo monousuario. Solo permite trabajar en un


puesto.
• UNIX (1969) y Linux (1991). Sistema operativo utilizado en red, multipuesto, arquitectura
cliente-servidor. Se utilizarán principalmente como máquinas servidoras.
• WINDOWS 95 (1995) y posteriores. Por su fácil manejo y accesibilidad, será uno de los más
utilizados por usuarios de oficina. No sirven para dar servicios.
• Windows 2000. Será uno de los sistemas operativos más utilizados a nivel de desarrollo y
protección en el nivel de empresa, poco conocido por usuarios básicos. También tiene la
ventaja ser más seguro y estable que versiones anteriores.
• Windows XP y 2003. Las mismas características que la familia Windows 2000 y NT, aunque
están más depuradas y dan más y mejores servicios.

• Windows 7 y Windows Server 2008. Actualmente se están implantando.

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 4

Clasificación de los Sistemas Operativos

Según el número de usuarios:

• Monousuario (solo un usuario trabaja con el computador)


• Multiusuario (varios usuarios trabajan en el mismo computador)

Según el número de tareas:

• Monotareas (es capaz de realizar una sola tarea a la vez por usuario)
• Multitareas (es capaz de realizar varias tareas a la vez por usuario)

Podemos encontrarnos sistemas multiusuario y monotarea a la vez.

Según el número de procesadores:

• Monoproceso (un solo procesador, pero son capaces de ejecutar varias tareas a través de
una cola de procesos y con intercambio entre ellos muy rápidos)
• Multiproceso (varios procesadores, por lo que ejecutaran varias tareas a la vez)

o multiproceso simétricos (todos los procesadores trabajan con la misma carga)

o multiproceso asimétrico (la tarea de mas prioridad se ejecuta en un procesador y el


resto de tareas en el otro procesador)

Según su disponibilidad:

• Propietarios. La propiedad intelectual pertenece a una empresa. No se dispone del código


fuente por lo que el usuario paga solo por el uso del sistema.
• Libres. Aquellos que garantizan las 4 libertades del software libre:

o libertad de usar el programa con cualquier propósito

o libertad de estudiar como funciona y modificarlo

o libertad de distribuir copias del programa con lo que se puede ayudar a otros usuarios

o libertad de mejorar el programa y hacer públicas dichas mejoras de modo que toda la
comunidad se beneficie.

El software libre suele estar disponible gratuitamente o al precio de coste de distribución. Sin embargo
no es obligatorio que así sea.

Tipos de Licencias

OEM. Su venta va asociada a la compra de un equipo, por lo que afecta a los sistemas operativos.
Está prohibido venderlo si no es con esta condición.

RETAIL. Son las versiones de venta de software. En este caso el programa es de entera propiedad
del usuario, pudiendo este cederlo libremente e incluso venderlo a terceros.

LICENCIAS POR VOLUMEN. Se rige como las OEM pero no estan supeditadas a la compra de
equipos nuevos. Con una sola clave instalamos varios equipos. Se utilizan en empresas con varios
ordenadores.

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 5

Los gestores de arranque

NTLDR. Para equipos Windows NT, Windows 2000, y Windows 2003 server. Requiere de los archivos
boot.ini y ntdetect.com

BOOTMGR. Es el nuevo cargador para Windows vista, 7 y 2008 server. Requiere del archivo
winload.exe que carga el sistema operativo y dará paso al archivo ntoskrnl.exe que arranca el resto
del sistema.

LILO y GRUB. Son los gestores más conocidos de Linux. El primero tiene la ventaja de que necesita
muy pocos recursos y entra en el master boot record del hdd, mientras que el segundo es más
completo y nos ofrece un interfaz de comandos para momentos críticos con el sistema.

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 6

Componentes

Como se muestra en la figura, se suele considerar que un sistema operativo está formado por tres
capas: el núcleo, los servicios y el intérprete de mandatos o shell.

USUARIOS

SHELL

SERVICIOS SISTEMA OPERATIVO

NÚCLEO

HARDWARE

El núcleo es la parte del sistema operativo que interacciona directamente con el hardware de la
máquina. Las funciones del núcleo se centran en la gestión de recursos, como es el procesador,
tratamiento de interrupciones y las funciones básicas de manipulación de memoria.

Los servicios se suelen agrupar según su funcionalidad en varios componentes, cada uno de los
cuales se ocupa de las siguientes funciones:

 Gestión de procesos, encargada de la creación, planificación y destrucción de procesos.


 Gestión de memoria, componente encargada de saber qué partes de memoria están libres y
cuales ocupadas, así como de la asignación y liberación de memoria según la necesiten los
procesos.
 Gestión de la E/S, se ocupa de facilitar el manejo de los dispositivos periféricos.
 Gestión de archivos y directorios, se encarga del manejo de archivos y directorios y de la
administración del almacenamiento secundario.
 Comunicación y sincronización entre procesos, encargada de ofrecer mecanismos para que los
procesos puedan comunicarse y sincronizarse entre ellos.
 Seguridad y protección, este componente debe encargarse de garantizar la identidad de los
usuarios y de definir lo que pueden hacer cada uno de ellos con los recursos del sistema.

Por los que se refiere al intérprete de comandos o shell, es el módulo del sistema operativo que
permite que los usuarios dialoguen de forma interactiva con el sistema operativo, existen varios
intérpretes de comandos, unos textuales y otros gráficos.

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 7

La gestión de procesos

Proceso, en sí es el programa ejecutándose en un momento dado con unos datos y recursos


concretos.

El Sistema Operativo mantiene una tabla de procesos dentro de la cual se almacena un bloque de
control del proceso (PCB) por cada proceso. Un PCB contiene información básica de cada proceso
como la siguiente:

a) Información de identificación: Contiene información que identifica al usuario y al proceso.

b) Estado del procesador: Contiene los valores iniciales del estado del procesador o el valor en el
instante en que fue interrumpido el proceso.

c) Información de control del proceso: Almacena información que permite gestionar el proceso
como:

- Información de planificación y estado: Estado del proceso, evento que espera el


proceso cuando está bloqueado, prioridad del proceso e información de planificación.

- Descripción de la zona de memoria asignada al proceso.

- Recursos asignados, como archivos abiertos o puertos de comunicación.

d) Punteros: Para estructurar los procesos en colas.

e) Comunicación entre procesos: Almacena señales y mensajes enviados al proceso

Interrupción, que es la indicación de existencia de otra actividad pendiente.

Cambio de contexto, guarda información de lo que estaba haciendo y libera la memoria o


dedica otra parte a la nueva actividad. El procesador debe anotar todos los datos importantes que
había antes de la interrupción, para poder reanudar más tarde la actividad. El sistema operativo es el
encargado de realizar la identificación de los procesos.

Los estados de un Proceso:

Un proceso puede encontrarse en tres estados: Procesándose, Listo en espera de CPU y bloqueado.

Un proceso se bloquea cuando no puede continuar su ejecución, generalmente se produce cuando


espera por datos en su entrada y aun no están disponibles. Por ejemplo el intérprete de comandos
(shell) permanece bloqueado hasta que el usuario ingresa una orden.

Se visualizan cuatro posibles transiciones indicadas por las flechas, veamos cuando se producen
estas transiciones.

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 8

La transición 1 ocurre cuando un proceso no puede continuar por esperar un evento.


La transición 2 sucede cuando el planificador considera que el proceso ha dispuesto del procesador
suficiente tiempo y decide asignarlo a otro proceso.
La transición 3 tiene lugar cuando el resto de los procesos ha ocupado el procesador durante el
tiempo asignado y es hora de que el primer proceso pueda continuar ejecutándose.
La transición 4 se produce cuando sucede el evento que el proceso estaba esperando.

Cuando se crea un proceso nuevo, se carga en memoria y se le asigna el estado listo, la finalización
de un proceso se produce cuando está en el estado ejecutando, devolviendo los recursos que
utilizaba.

Interacción entre procesos: Los procesos que se ejecutan de forma concurrente (a la vez) en un
sistema se pueden clasificar en:

• Procesos Independientes: Un proceso independiente es aquel que se ejecuta sin


requerir la ayuda de otros procesos.

• Procesos Cooperantes: Cuando un proceso afecta o puede ser afectado por otros
procesos del sistema operativo; por lo que deben ser capaces de comunicarse e
interactuar entre ellos.

Los procesos necesitan comunicarse entre sí. Se debe evitar que surjan condiciones de carrera, que
son situaciones en las que dos o más procesos leen o escriben en una zona compartida. Este
problema se resuelve impidiendo que haya más de un proceso leyendo o escribiendo
simultáneamente datos compartidos. Para ello, se emplea la exclusión mutua, que es una forma de
garantizar que mientras un proceso está usando un objeto compartido, otros procesos no puedan
hacerlo.

La sección crítica es la parte del proceso que accede a la zona compartida. Se trata de que cuando
un proceso esté ejecutando código de su sección crítica, ningún otro proceso pueda ejecutar su
sección crítica. Para resolver el problema de la sección crítica es necesario utilizar un mecanismo de
sincronización que permita a los procesos cooperar entre ellos sin problemas. Este mecanismo debe
proteger el código de la sección crítica y su funcionamiento es el siguiente:

• Cada proceso debe solicitar permiso para entrar en su sección crítica, mediante algún
fragmento de código denominado de forma genérica entrada en la sección crítica.
• Cuando un proceso sale de la sección crítica debe indicarlo mediante otro fragmento de
código denominado salida de la sección crítica. Este fragmento permitirá que otros procesos
entren a ejecutar el código de la sección crítica.

La estructura del mecanismo que pretenda resolver el problema de la sección crítica debe ser el
siguiente:
Entrada en la sección crítica
Código de la sección crítica
Salida de la sección crítica

Cualquier mecanismo de sincronización que se utilice para resolver este problema, debe cumplir los
siguientes requisitos:

• Exclusión mutua: cuando un proceso está ejecutando código de la sección crítica,


ningún otro proceso lo podrá hacer.
• Progreso: si ningún proceso se está ejecutando dentro de la sección crítica, se decidirá
qué proceso entra de entre los procesos que deseen entrar. (de los que están en cola)
• Espera acotada: debe haber un límite en el número de veces que se permite que otros
procesos entren a ejecutar código de la sección crítica después de que un proceso haya
solicitado su entrada.

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 9

Resolución del problema de la exclusión mutua:

Para evitar la concurrencia de procesos se utiliza el sistema denominado exclusión mutua, con el que
se consigue asegurar que nunca dos procesos van a usar el mismo recurso a la vez. El sistema de
exclusión se consigue mediante la sincronización de procesos. Éste se puede realizar mediante
software con los algoritmos de espera activa. O bien, mediante espera no activa.

Ejemplo de ESPERA ACTIVA: Algoritmo de Petterson:

(entrada a la sección crítica)

Activo(i) = verdad
Turno = j
Mientras activo(j) = verdad y turno = j
Haz nada

(salida de la sección crítica)

Activo(i) = falso

Ejemplo de ESPERA NO ACTIVA: Semáforos.

Semáforo = valor inicial, normalmente 1.

Antes de entrar en la sesión crítica: WAIT (Semáforo)

Si semáforo = 0 entonces el proceso se bloquea


Si no, semáforo se decrementa en 1

Al salir de la sesión crítica: SIGNAL (Semáforo)

Si semáforo = 0 entonces se incrementa el semáforo en 1 y desbloqueamos.


Si no, no hacer nada.

Problemas clásicos de comunicación entre procesos:

El problema de la comida de los filósofos. Representa a procesos que compiten por el acceso
exclusivo a un número limitado de recursos, como los dispositivos de E/S.

Este problema fue propuesto por Dijkstra para demostrar la importancia de la sincronización. Cinco
filósofos están sentados alrededor de una mesa circular. Cada filósofo tiene delante un plato de
tallarines y necesita dos tenedores para comerlos. Entre cada dos platos hay un tenedor. La vida de
los filósofos tiene dos estados posibles y alternativos, o están meditando o están comiendo. Cuando
un filósofo tiene hambre, intenta coger los dos tenedores (el de su izquierda y el de su derecha). Si
consigue coger los dos tenedores, como un poco y después deja los tenedores y continúa pensando.
Si los 5 filósofos cogen a la vez los tenedores de su izquierda, ninguno de ellos podrá coger el
tenedor a su derecha, produciéndose un interbloqueo.

El problema de los lectores-escritores. Representa el acceso a una base de datos. Por ejemplo, si
se tiene una base de datos con procesos que compiten por leer y escribir en ella, puede darse la
situación de que haya varios procesos leyendo a la vez, pero cuando haya un proceso escribiendo en
ella, no puede haber ningún otro proceso, lector o escritor, que acceda a la base de datos. Hay que
determinar cómo programar los lectores y los escritores para que no se produzca una situación
indebida.

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 10

Algoritmos de planificación de procesos:

El Planificador es el proceso que se encarga de definir qué proceso preparado en la cola pasa a
ejecución.

Se pueden definir dos tipos de planificación:

Planificación APROPIATIVA: Aquél que puede dejar la CPU para que otro proceso la utilice antes de
él haber acabado de realizar su tarea.

Planificación NO APROPIATIVA: Nadie le puede quitar la CPU.

Algoritmo FIFO (First In First Out)


Es el más sencillo, pero el más ineficaz. Los procesos se ejecutan según el orden de llegada, es
decir, el primero en llegar es el primero en salir.

Este algoritmo se suele utilizar para gestionar los trabajos de impresión en las colas.

Algoritmo rotatorio (Round-Robin)


Este algoritmo de planificación, reduce la penalización que sufren los trabajos cortos con el algoritmo
FIFO, gracias a la utilización de un reloj.

Periódicamente, se genera una instrucción de reloj y el proceso que está en ejecución se sitúa en la
cola de LISTOS y se selecciona el siguiente proceso según el algoritmo FIFO. Cada proceso recibe
una fracción de tiempo, llamada “quantum” antes de ser expulsado.

La cuestión principal del diseño de este algoritmo, es la longitud que se le va a dar al quantum de
tiempo.

Hay que seguir el siguiente orden:

1º el proceso que está esperando


2º el proceso nuevo que entra
3º el proceso que pierde el quantum

Cuando llega un proceso se coloca al final de la cola de procesos que están esperando.

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 11

Algoritmo Primero el Proceso más Corto (SPN)


Este algoritmo utiliza una política no preferente, en la que se selecciona el proceso en espera con
menor tiempo de ejecución, es decir, un proceso corto, salta a la cabeza de la cola sobrepasando a
los trabajos más largos, y ejecutándose antes.

Para el uso de este algoritmo es necesario conocer o estimar el tiempo que necesita cada proceso.

Algoritmo de Menor Tiempo Restante (SRT)


Este algoritmo asigna el tiempo de ejecución de forma prioritaria a los procesos más cortos. Si se está
ejecutando un proceso largo, el Sistema Operativo, le quita la ejecución de la CPU para asignársela a
otro proceso más corto. El usuario del proceso corto obtendrá resultados en un tiempo mínimo, y el
usuario del proceso largo casi no notará esta circunstancia.

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 12

Este algoritmo puede ser apropiativo (cuando el algoritmo desaloja al proceso que se está ejecutando
en la CPU sin que haya terminado, para asignársela a otro proceso), o no apropiativo (cuando se
asigna la CPU a un proceso, se debe esperar hasta que este termine para asignar la CPU a otro
proceso).

a) SRT apropiativo: Debe decidirse entre una de las dos siguientes opciones:

- El proceso en ejecución tiene prioridad, es decir, si llega un proceso que tiene un tiempo de
ejecución igual al que le queda al proceso que se está ejecutando, se da prioridad al
proceso en ejecución.

- El proceso nuevo tiene prioridad, si se da la circunstancia del caso anterior, se da prioridad


al proceso nuevo.

b) SRT no apropiativo: Cuando termina un proceso, mira de todos los que hay en la cola, a cual
le queda menos tiempo de ejecución, y ese es el que se ejecuta.

Tiempo de espera y tiempo de retorno en todos los algoritmos

Para todos los algoritmos descritos anteriormente, se puede calcular una serie de variables como son
el tiempo de espera, el tiempo de retorno, el tiempo medio de espera y el tiempo medio de retorno.

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 13

Resumen de políticas de planificación:

EJERCICIOS

UNO:

Planifica la ejecución de los procesos de la siguiente tabla, mediante los algoritmos FIFO, SRT
(tiempo restante más corto), SRT apropiativo, SPN (primero el proceso más corto), RR (q=2) y RR
(q=3).
Además, obtén los tiempos de espera, los tiempos de retorno, el tiempo medio de espera y el tiempo
medio de retorno para cada algoritmo.

PROCESO Tiempo de Llegada Tiempo de Ejecución


A 0 5
B 1 3
C 2 10
D 3 1
E 4 2

DOS:

Planifica la ejecución de los procesos de la siguiente tabla, mediante los algoritmos FIFO, SRT (con
prioridad al proceso en ejecución), SPN (primero el proceso más corto), RR (q=1) y RR (q=4).
Además, obtén los tiempos de espera, los tiempos de retorno, el tiempo medio de espera y el tiempo
medio de retorno para cada algoritmo.

PROCESO Tiempo de Llegada Tiempo de Ejecución


A 0 3
B 1 5
C 3 2
D 9 5
E 12 5

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 14

TRES:

Planifica la ejecución de los procesos de la siguiente tabla, mediante los algoritmos FIFO, SRT, SPN,
RR (q=1) y RR (q=2), Prioridad no apropiativo y Prioridad apropiativo. El número menor de prioridad
representa la mayor prioridad.

Se supone que cada 3 unidades de tiempo de un proceso en ejecución, realiza una operación de E/S
que dura 2 unidades de tiempo, mientras las cuales se puede estar ejecutando otro proceso.

Además, obtener los tiempos de espera, los tiempos de retorno, el tiempo medio de espera y el
tiempo medio de retorno para cada algoritmo.

PROCESO Tiempo de Llegada Tiempo de Ejecución Prioridad


A 0 7 3
B 1 1 1
C 2 2 3
D 3 1 4
E 4 5 2

CUATRO:

Planifica la ejecución de los procesos de la siguiente tabla, mediante los algoritmos FIFO, SRT
apropiativo, SRT no apropiativo, SPN, RR (q=2), RR (q=4), Prioridad apropiativo y Prioridad no
apropiativo.
Además, obtén los tiempos de espera, los tiempos de retorno, el tiempo medio de espera y el tiempo
medio de retorno para cada algoritmo.

PROCESO Tiempo de Llegada Tiempo de Ejecución Prioridad


A 0 3 3
B 1 5 1
C 3 2 1
D 9 5 2
E 12 5 2

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 15

La gestión de la Memoria Principal

La memoria y sus características:

El objetivo de memoria es guardar la información de aquellos programas que están siendo ejecutados
por el procesador. Toda la información debe pasar por la memoria física del ordenador.

La memoria tiene dos limitaciones.

• Carácter físico: memoria que podemos comprar.


• Las limitaciones de la arquitectura y del sistema operativo.

La memoria suele estar dividida en dos partes generales:

• Para el sistema operativo.


• Para los programas.

Asignación de memoria a los programas

La asignación de memoria a un programa se puede realizar de dos formas:

• La asignación de estática, se realiza cuando el compilador compila el programa o bien


cuando el programa se carga en la memoria, en este caso la asignación la realiza el
programa cargador.
• La asignación dinámica, se realizar en tiempo de ejecución, la asignación dinámica la realiza
el propio SO.

Detalles a conocer sobre la memoria:

La paginación, el objetivo es que los programas se pueden localizar en memoria en diferentes


bloques que no tienen que ser contiguos. Normalmente las páginas son todas del mismo tamaño,
aunque esto dependerá del SO.

La fragmentación, sucede cuando la memoria está dividida en muchos trozos que están sin
utilizarse, es decir, hay un trozo que está ocupado, luego otro que esta libre, otro que esta ocupado y
así sucesivamente. Esto ralentiza el acceso a la memoria y la carga de nuevos programas en
memoria.

La solución a este problema es la compactación: unir todos los trozos libres que haya en la memoria.

Memoria caché, cuyo objetivo consiste en tener aquellas zonas de memoria más utilizadas en una
memoria muy rápida. Esta pequeña memoria caché está integrada dentro de la CPU. Es muy
pequeña (unos 256Kbytes) pero su acceso es mucho más rápido que la memoria RAM.

Páginas compartidas, existe la posibilidad de compartir páginas entre varios programas o usuarios.
Con ello se ahorra mucha memoria y no hace falta que se cargue el código tantas veces como
usuarios existan.

Segmentación, las páginas de la memoria se dividen en segmentos, de tal forma que para acceder a
un trozo de código de un programa debemos hacer referencia al segmento en el que está dicho trozo
de código, así como un desplazamiento dentro del segmento.

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 16

Carga según peticiones de páginas, las páginas en memoria se cargan cuando se necesita acceder
a ellas.

Falta de página, se producen cuando faltan datos en memoria. En este caso hay que acceder al
disco duro para cargar la nueva información en la memoria.

El swapping o memoria virtual, es una zona de intercambio para programas que no caben en la
memoria. Esta zona se encuentra en el disco duro y se gestiona como si fuera memoria normal.
Ejemplo: El swap de Linux, el archivo de paginación de Windows

Aprovechando el tiempo de espera de cada usuario, el SO extrae el programa que no cabe en


memoria al swap, y pone en su lugar el programa de otro usuario que sí debe estar en memoria.

El hecho de que sea rentable o no, dependerá del tiempo que se necesite para realizar dicho
intercambio. Será mejor utilizarlo cuando el tiempo de espera sea grande.

Algoritmos de sustitución de páginas de memoria:

FIFO: Es el más barato pero el menos eficiente.

La primera en llegar a la memoria es, la primera en salir de la memoria. No se tiene en cuenta el uso
de las páginas, sino la antigüedad de éstas.

LRU: Las menos usadas recientemente.

A la hora de sustituir una página, buscaremos aquella que hace más tiempo que no se emplea. La
dificultad está en el control del tiempo que lleva una página sin usar. La solución más apropiada para
tal, es de hardware, a través de contadores registros de tiempo.

LFU: Las usadas con menos frecuencia.

A la hora de sustituir una página, cogeremos la página que se haya usado menos en la última unidad
de tiempo.

Políticas de carga de páginas de memoria:

Son las que determinan cuando hay que cargar información en la memoria principal. Se dividen en
dos grandes categorías:

• Las de demanda: La falta de un bloque provoca una petición de carga, con lo que los algoritmos
de ubicación y/o sustitución harán sitio en la memoria para el nuevo bloque.

• Las anticipatorias: Cargan los bloques por adelantado, por lo que deben basarse en predicciones
del comportamiento futuro del programa. Estas predicciones pueden realizarse en base a 2
criterios:
a) La naturaleza de la construcción del programa, refiriéndose esto al principio de localidad.
b) La inferencia basada en el comportamiento pasado.

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 17

La gestión de almacenamiento

Introducción:

Los objetivos de la gestión de almacenamiento, son sacarle el mayor aprovechamiento y lograr


accesos rápidos a la información.

El subsistema de ficheros tiene como funciones, la gestión de espacio de almacenamiento, los


métodos de acceso, la gestión de ficheros y la protección e integridad de éstos.

Control del espacio libre:

Se pueden plantear diferentes métodos para tener controlado todo el espacio libre en disco:

• Mediante el uso de un mapa de bits. Tiene el problema de que ocupa mucho espacio.
• Mediante listas enlazadas. El sistema Operativo encadena los bloques libres. No ocupa tanto
espacio como el mapa de bits. Suelen ser listas doblemente enlazadas.

Control del espacio ocupado:

La técnica que más se utiliza es la tabla de directorios, en la que cada unidad de disco se
reserva un área de éste donde va a guardar la relación de ficheros de disco, información sobre el
contenido del dispositivo.

La asignación del espacio en disco tiene como objetivos la utilización eficaz de la capacidad del disco.

Tipos de asignaciones de espacio en disco:

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 18

Asignación contigua. Rapidez de accesos directos.

Asignación enlazada. Se van asignando bloques al fichero mediante punteros.

Asignación indexada. Se utiliza un bloque de índices donde se expresa su dirección.

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 19

En los sistemas basados en multiprogramación se producen peticiones de leer o escribir mucho más
rápidas de lo que pueden atender los discos. Así, es frecuente encontrar colas de espera en los
dispositivos de disco.
Existen muchos algoritmos de planificación de colas, unos tratando de reducir el tiempo de búsqueda
y otros, mejorando el tiempo de latencia (el tiempo de rotación de las cabezas).

• FCFS: la primera petición que llega es la primera que se atiende. Es aceptable con pocas
peticiones. Es la forma más sencilla, pero no es la que proporciona el mejor servicio.

• Planificación SSFT: sirve la petición que encuentra a la distancia más corta de la pista que
acaba de servir. Suele dar mejor resultado que la FCFS, pero tampoco es óptimo. Puede
provocar inanición.

• Planificación SCAN: selecciona la petición que da una distancia de búsqueda más corta pero en
una dirección preferida. La cabeza de lectura/escritura empieza en un extremo del disco y se
mueve hacia el extremo sirviendo las solicitudes a medida que llega a cada pista. Cuando llega al
extremo opuesto, se invierte la dirección del movimiento y continúa con el proceso. Es la base de
la mayoría de las planificaciones actuales.

• Planificación C-SCAN: Una variante del anterior. Cuando llega al final, vuelve inmediatamente al
principio sin servir ninguna petición para comenzar un nuevo recorrido.

• Planificaciones LOOK y C-LOOK: son planificaciones SCAN en las que la cabeza de


lectura/escritura no llega hasta los extremos del disco sino sólo hasta que no quedan solicitudes
en la dirección actual.

Estructura física y lógica del disco duro:

La estructura física. Un disco duro está compuesto por varios platos. Cada una de las dos
superficies magnéticas de cada plato se denomina cara. El número total de caras de un disco duro
coincide con su número de cabezas. Cada una de estas caras se divide en anillos concéntricos
llamados pistas. En los discos duros se suele utilizar el término cilindro para referirse a la misma pista
de todos los discos de la pila. Finalmente, cada pista se divide en sectores. Los sectores son las
unidades mínimas de información que puede leer o escribir un disco duro. Generalmente, cada sector
almacena 512 bytes de información.

De la figura anterior, A es una pista, B es un sector, C es el sector de una pista y D es un cluster.

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 20

En los discos modernos normalmente solo hay un único plato con varias niveles de escritura-lectura.

Las cabezas y cilindros comienzan a numerarse desde el cero y los sectores desde el uno. En
consecuencia, el primer sector de un disco duro será el correspondiente a la cabeza 0, cilindro 0 y
sector 1.

El primer sistema de direccionamiento que se usó fue el CHS (cilindro-cabeza-sector), ya que con
estos tres valores se puede situar un dato cualquiera del disco. Más adelante se creó otro sistema
más sencillo: LBA (direccionamiento lógico de bloques), que consiste en dividir el disco entero en
sectores y asignar a cada uno un único número. Este es el que actualmente se usa.

La estructura lógica. Un disco duro está formada por las siguientes partes:

• El sector de arranque (Master Boot Record)


• Espacio particionado
• Espacio sin particionar

El sector de arranque es el primer sector de todo disco duro (cabeza 0, cilindro 0, sector 1). En él se
almacena la tabla de particiones y un pequeño programa master de inicialización, llamado también
Master Boot. Este programa es el encargado de leer la tabla de particiones y ceder el control al sector
de arranque de la partición activa. Si no existiese partición activa, mostraría un mensaje de error.

El espacio particionado es el espacio del disco que ha sido asignado a alguna partición.

El espacio no particionado, es espacio no accesible del disco ya que todavía no ha sido asignado a
ninguna partición.

Ejercicio: Realice un diagrama en el que se muestre un ejemplo de un disco duro con espacio
particionado (2 particiones primarias y 2 lógicas) y espacio todavía sin particionar.

Sistemas de archivos:

FAT16 (FAT de 16 bits)

Debido a que la FAT de este sistema de archivos tiene entradas de 16 bits (por eso, a veces se llama
FAT16), sólo se pueden utilizar 2^16 = 65.536 clusters distintos. Esto implica que, con el fin de
aprovechar la totalidad del espacio de una partición, los grupos tengan tamaños distintos en función
del tamaño de la partición. Por ejemplo, con un grupo de 16 KB se puede almacenar hasta 2^16
cluster * 16 KB/cluster = 220 KB = 1 GB de información. El límite de la partición (2 GB) se obtiene al
considerar un grupo máximo de 32 KB (formado por 64 sectores consecutivos de 512 bytes).

FAT32 (FAT de 32 bits)

El sistema FAT32 permite trabajar con particiones mayores de 2 GB. No solamente esto, sino que
además el tamaño del grupo (cluster) es mucho menor y no se desperdicia tanto espacio como
ocurría en las particiones FAT. La conversión de FAT a FAT32, se puede realizar desde el propio
sistema operativo Windows 98, o bien desde utilidades como Partition Magic. Sin embargo, la
conversión inversa no es posible desde Windows 98, aunque sí desde Partition Magic.

Hay que tener en cuenta que ni MS-DOS ni las primeras versiones de Windows 95 pueden acceder a
los datos almacenados en una partición FAT32. Esto quiere decir que si tenemos en la misma
partición instalados MS-DOS y Windows 98, al realizar la conversión a FAT32 perderemos la
posibilidad de arrancar en MS-DOS (opción "Versión anterior de MS-DOS" del menú de arranque de
Windows 98). Con una conversión inversa se puede recuperar esta opción. Por estos motivos de
incompatibilidades, no es conveniente utilizar este sistema de archivos en particiones que contengan

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 21

datos que deban ser visibles desde otros sistemas de archivos. En los demás casos, suele ser la
opción más recomendable.

En la siguiente tabla, se comparan los tamaños de grupo utilizados según el tamaño de la partición y
el sistema de archivos empleado:

Tamaño de la partición FAT FAT32


< 128 MB 2 KB No soportado
128 MB - 256 MB 4 KB No soportado
256 MB - 512 MB 8 KB No soportado
512 MB - 1 GB 16 KB 4 KB
1 GB - 2 GB 32 KB 4 KB
2 GB - 8 GB No soportado 4 KB
8 GB - 16 GB No soportado 8 KB
16 GB - 32 GB No soportado 16 KB
32 GB - 2 TB No soportado 32 KB

Comparativas entre sistemas FAT.

FAT12 FAT16 FAT32

Desarrollador Microsoft

Tabla de Asignación de Archivos


Nombre completo
(versión de (versión
(versión de 32 bits)
12 bits) de 16 bits)

1977
Julio de
(Microsoft
Introducido 1988 (MS- Agosto de 1996 (Windows 95 OSR2)
Disk
DOS 4.0)
BASIC)

0x04,
Identificador de 0x01 0x06, 0x0B, 0x0C (MBR)
EBD0A0A2-B9E5-4433
partición (MBR) 0x0E -87C0-68B6B72699C7 (GPT)
(MBR)

Estructuras FAT12 FAT16 FAT32

Contenido de
Tabla
carpeta

Ubicación de
Lista enlazada
archivo

Bloques
Lista enlazada
defectuosos

Límites FAT12 FAT16 FAT32

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 22

Tamaño máximo
32 MiB 4 GiB
de archivo

Número máximo
4.077 65.517 268.435.437
de archivos

Longitud máxima
del nombre de 8.3 (11) o 255 caracteres cuando se usan LFNs
archivo

Tamaño máximo
32 MiB 2 GiB 2 TiB
del volumen

Características FAT12 FAT16 FAT32

Fechas
Creación, modificación, acceso
almacenadas

Rango de fechas
1 de enero de 1980 - 31 de diciembre de 2107
soportado

Metadatos No de modo nativo

Atributos Sólo lectura, oculto, sistema, archivo, nombre del volumen

Permisos No

Por volumen,
Compresión
DoubleSpace, No
transparente
DriveSpace

Cifrado Por volumen sólo con


No
transparente DR-DOS

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 23

NTFS (New Technology File System, sistema de archivos de nueva tecnología)


Este es el sistema de archivos que permite utilizar todas las características de seguridad y protección
de archivos de Windows NT. NTFS sólo es recomendable para particiones superiores a 400 MB, ya
que las estructuras del sistema consumen gran cantidad de espacio. NTFS permite definir el tamaño
del grupo (cluster), a partir de 512 bytes (tamaño de un sector) de forma independiente al tamaño de
la partición.

NTFS
Desarrollador Microsoft

Nombre completo NT File System (Sistema de Archivos NT)

Introducido Julio de 1993 (Windows NT 3.1)

Identificador de la 0x07 (MBR)


partición EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)

Estructuras

Contenido del Árbol-B+


directorio

Localización de Mapa de bits/Extents


archivo

Bloques malos Mapa de bits/Extents

Límites

Máxima 16 TiB con la actual implementación


dimensión de
archivo

Máximo número 4.294.967.295 (232-1)


de archivos
Tamaño máximo 255 caracteres
del nombre de
archivo
Tamaño máximo 256 TiB con la actual implementación (16 EiB architecturally)
del volumen
Caracteres Cualquier carácter excepto '\0' (NULO) y '/' [1]
permitidos en
nombres de Windows también excluye el uso de \ : * ? " < > |
archivo
Características
Fechas registradas Creación, modificación, modificación POSIX, acceso
Rango de fecha 1 de enero de 1601 - 28 de mayo de 60056
Bifurcaciones Sí
Atributos Sólo lectura, oculto, sistema, archivo
Permisos de ACLs
acceso a archivos

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 24

Compresión Per-file, LZ77 (Windows NT 3.51 onward)


transparente
Cifrado Per-file,
transparente DESX (Windows 2000 onward),
Triple DES (Windows XP onward),
AES (Windows XP Service Pack 1, Windows Server 2003 onward)
Sistemas Familia Windows NT (Windows NT 3.1 a Windows NT 4.0, Windows 2000,
operativos Windows XP, Windows Server 2003, Windows Vista, Windows Server
soportados 2008)

ext2 (second extended filesystem o "segundo sistema de archivos extendido") es un sistema de


archivos para el kernel Linux. Fue diseñado originalmente por Rémy Card. La principal desventaja de
ext2 es que no implementa el registro por diario (en inglés Journaling) que sí implementa su sucesor
ext3, el cual es totalmente compatible.

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 25

Ext3 tiene dos límites de tamaño distintos. Uno para archivos y otro para el tamaño del sistema de
archivos entero. El límite del tamaño del sistema de archivos es de 2^31−1 bloques

Tamaño del bloque Tamaño máximo de los archivos Tamaño máximo del sistema de ficheros
1 KiB 16 GiB <2 TiB
2 KiB 256 GiB <4 TiB
4 KiB 2 TiB <8 TiB
8 KiB[1] 2 TiB <16 TiB

Ext4 se lanza octubre de 2006 con algunas mejoras con respecto a ext3.

Las principales mejoras son:

• Soporte de volúmenes de hasta 1024 PiB.


• Soporte añadido de extent. Los extents han sido introducidos para reemplazar al tradicional
esquema de bloques usado por los sistemas de archivos ext2/3. Un extent es un conjunto de
bloques físicos contiguos, mejorando el rendimiento al trabajar con ficheros de gran tamaño y
reduciendo la fragmentación
• Menor uso del CPU.
• Mejoras en la velocidad de lectura y escritura.

Los sistemas de ficheros ext usan un sistemas de inodos para control de archivos y directorios

El estándar POSIX establece un modelo de sistema de archivos que se ajusta al empleado en los
UNIX tradicionales. Un archivo ordinario tendrá las propiedades siguientes:

• El identificador de dispositivo del dispositivo que alberga al sistema de archivos.


• El número de inodo que identifica al archivo dentro del sistema de archivos
• La longitud del archivo en bytes.
• El identificador de usuario del creador o un propietario del archivo con derechos diferenciados
• El identificador de grupo de un grupo de usuarios con derechos diferenciados
• El modo de acceso: capacidad de leer, escribir, y ejecutar el archivo por parte del propietario,
del grupo y de otros usuarios.
• Las marcas de tiempo con las fechas de última modificación (mtime), acceso (atime) y de
alteración del propio inodo (ctime).
• El número de enlaces, esto es, el número de nombres (entradas de directorio) asociados con
este inodo.

El número de enlaces se emplea por el sistema operativo para eliminar el archivo del sistema de
ficheros, tanto el inodo como el contenido, cuando se han borrado todos los enlaces y el contador
queda a cero.

Ejemplo:

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


IMPLANTACIÓN DE SISTEMAS OPERATIVOS
Los sistemas operativos Pág.: 26

CICLO SUPERIOR DE ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED

También podría gustarte