Arranque del Sistema Operativo

32

 

El arranque de un sistema operativo suele ser un proceso muy común hasta cierto punto, en el cual difieren en función del tipo de sistema.

  1. Se inicia el procesador y se prepara para ejecutar instrucciones, las condiciones iniciales son fijas.
  2. Se ejecutan las primeras instrucciones.

Un poco de historia:

  • Inicialmente, las instrucciones se metían a mano desde un panel.
  • Los equipos más grandes tenían las instrucciones en una ROM, las cuales se copiaban la RAM.
  • Los equipos basados en microprocesadores tienen las instrucciones en una memoria junto a la BIOS. La ventaja de esto es que no hay que copiarlas a la RAM, el inconveniente es que dichas instrucciones ocupan memoria.

 

33

A partir de aquí, el proceso de arranque difiere, en ésta entrada trataremos el arranque de los equipos tipo PC.

Estos equipos, al ser de arquitectura abierta, no sólo contemplan la BIOS como su propia ROM, sino también dispositivos externos.

  1. Se inicia lo principal (comprobación de memoria, pantalla, teclado, reloj…).
  2. Se inician los dispositivos adicionales con ROM propia. Se miran ciertas posiciones de memoria, y si no están vacías, la ROM principal salta ahí para iniciar el dispositivo (disco duro, disquete,…).
  3. Se determina de dónde se cargará el SO. Para esto, la BIOS carga un pequeño programa que es el que inicia el SO.

En caso de que éste se inicie desde el disco duro, la BIOS consultará la posición 0 del disco, en la que se encuentra la tabla de particiones, donde se indica dónde está el programa de carga del SO, el cual se iniciará y continuará con el proceso de arranque.

  1. Se carga la parte principal del sistema operativo.
  2. Se inicia el sistema operativo.
  • Se inician los elementos fundamentales del sistema operativo.
  • Se inician los elementos fundamentales de lectura/escritura (drivers).
  • Se comprueba el sistema de archivos.
  • Se completan las pruebas y se carga el software adicional.
  • Se arrancan los procesos necesarios del SO para que realice sus inicializaciones particulares.
  • En ciertos casos, se inicia un archivo de órdenes que arranca los programas de servicios.

A partir de éste punto, se realiza una nueva división, en función de si el SO es interactivo sin identificación de usuario (MS-DOS, por ejemplo), si requiere identificación, si es por lotes sencillos o si es por lotes superior.

8a. Se lanza el intérprete de órdenes y/la interfaz gráfica.

8b. Se lanza un proceso de log-in por cada terminal, el cual se mantiene en espera hasta que se identifique correctamente, punto en el cual, se lanzará el intérprete y la UI (interfaz de usuario).

8c. Se pone en marcha la cola de trabajos.

8d. Se inicia sesión en la consola del operador y éste montará los dispositivos, fijará los criterios de funcionamiento…

34

35

Protección de hardware

 Con la introducción de sistemas multiprogramados y multiusuarios se

empezaron a generar problemas en el uso de los recursos debido a

procesos “mal programados” o “mal intencionados”.

 Fue necesario la introducción de protección entre los distintos procesos

que ejecutaban en un sistema.

 El hardware fue suministrando a los sistemas operativos de mecanismos

para la protección:

– Modo Dual:

Se provee de al menos dos modos de operación.

– Protección de E/S: Todas las instrucciones de Entrada/Salida son privilegiadas.

– Protección de Memoria: Evaluación de las direcciones de memoria a través de

la MMU.

– Protección de CPU: Introducción de un timer que permite limitar el uso de CPU.

 

Modo dual

 El hardware provee al menos dos modos de ejecución:

– Modo usuario (user mode): en este modo de ejecución se puede ejecutar un

conjunto reducido de instrucciones de hardware. Los procesos a nivel de

usuarios ejecutan en este modo.

– Modo monitor (monitor mode): en este modo todas las instrucciones de

hardware están disponibles. El sistema operativo es el único que debe ejecutar

en este modo.

 Un bit, llamado mode bit, es agregado al hardware para indicar el modo

actual.

Modo dual

 La ejecución de instrucciones privilegiadas en el modo monitor garantiza

que los procesos, a nivel de usuario, no accedan directamente a los

dispositivos de E/S.

 El acceso a un dispositivo se realiza a través de los servicios que brinda el

sistema operativo (syscall).

 La solicitud de un servicio al sistema operativo es tratado como una

interrupción a nivel de software (trap), y en ese momento el sistema pasa

de modo usuario a modo monitor.

 En Intel la instrucción int 0x80 genera el cambio de modo.

 Posteriormente, se ejecuta el handler de la excepción 0x80 (128 decimal).Sistemas Operativos | Curso 2014 | Estructura de los sistemas de computación 32/42

Modo dual

 Esquema gráfico del cambio de modo:

36

 

Protección de E/S

 Es necesario restringir que los procesos a nivel de usuario no accedan

directamente a los dispositivos, sino que deban hacerlo a través del

sistema operativo.

 Por eso, se define que todas las instrucciones de E/S son privilegiadas.

 De esa forma, se asegura que un programa a nivel de usuario nunca pueda

lograr cambiar el modo a monitor.

 Un usuario podría ingresar una nueva interrupción, modificar una ya

existente, o cambiar el vector de interrupción y luego generar un trap

(interrupción por software) para que ejecute.

 

Protección de memoria

 Es necesario proteger la memoria del núcleo (p.ej.: el vector de

interrupciones) y, a su vez, proteger el acceso de memoria entre los

distintos procesos (un proceso no debería acceder a la memoria de otro).

 El sistema debe lograr saber si cada dirección generada por un proceso es

válida.

 Una forma es utilizar dos registros:

– Base: Contiene la dirección de memoria física más baja que puede acceder.

– Límite: Contiene el tamaño del bloque de memoria a partir del registro base.

 

Protección de memoria

 Esquema gráfico de la protección a través de registro base y límite:

37

Protección de memoria

 Cada dirección física generada por la CPU es controlada para comprobar si

es una dirección válida.

 En caso de una acceso inválido se genera un trap al sistema operativo.

 La unidad que convierte direcciones lógicas a físicas es la MMU (Memory

Management Unit), y es la que controla el acceso a memoria. Esta es un

dispositivo de hardware.

 La unidad MMU únicamente debe ser administrada en modo monitor. Por

ejemplo cargar los registros base y límite.

 

Protección de CPU

 Una vez que a un proceso se le asigna un recurso procesador, puede

entrar en una iteración infinita (infinite loop) y no retornar nunca más el

control al sistema.

 Deben existir mecanismos de protección de uso del procesador.

 Una alternativa es la utilización de un timer que interrumpa el procesador

cada cierto tiempo (watch dog timer).

 El sistema operativo al asignar la CPU carga un contador. Cada vez que la

interrupción de timer se genera se ejecuta la rutina de atención

correspondiente.

 En la rutina de atención de la interrupción el contador es disminuido. Si

alcanza al valor 0, se le quita el recurso procesador al proceso y se invoca

al planificador para que seleccione otro.

 La instrucción que permite cargar el contador debe ser privilegiada.

 

Red

 Las redes se pueden clasificar, básicamente, en dos tipos:

– Red LAN (Local Area Network):

  • Las redes LAN son pequeñas y su alcance está limitado por lo general a no más de

un edificio.

  • Velocidades de 10, 100, 1000 Mbits/s, o más.

– Red WAN (Wide Area Network):

  • Las redes WAN son redes distribuidas sobre una región grande.
  • 1,5 a 100 Mbits/s.

 La diferencia principal es como están geográficamente distribuidas.

 

LAN: Local Area Networks

 Son redes que interconectan sistemas a corta distancia y se tiende a tener

interconexiones de alta velocidad con baja tasa de error.

39

WAN: Wide Area Networks

 Son redes que interconectan sistemas remotos.

 Los enlaces, por lo general, son provistos por empresas de

telecomunicaciones.

40

Topologías de red

 Las redes pueden estar interconectadas de diferentes formas.

 Esto dependerá de:

– Costos básicos: Qué costo a nivel monetario implica interconectar la red.

– Costo a nivel de comunicación: Qué tiempo lleva enviar un mensaje desde un

nodo a otro de la red.

– Nivel de confianza: Qué tan resistente es la red ante eventuales fallos de

componentes.

 Las topologías que se implementen dependerán de estás tres variables.

Topologías de red

 Esquema gráfico de algunas topologías más comunes:

41

Deja un comentario