Tema 1 ASIR
Tema 1 ASIR
Tema 1 ASIR
2. El sistema operativo
Conjunto de órdenes y programas que controlan los procesos básicos de una computadora
y permiten el funcionamiento de otros programas.
3. El Kernel
Como principal ventaja, los sistemas operativos monolíticos ofrecen un alto rendimiento puesto
que las peticiones entre los diferentes componentes se reducen a invocaciones de funciones.
Las capas se seleccionan de modo que sus funciones y servicios solo de capas inferiores.
Como principales ventajas, este tipo de sistema es muy seguro. Como principal desventaja,
puede haber casos en los que una capa inferior requiera una funcionalidad de una de sus
capas inmediatamente superiores, generando problemas. Además, al realizar la
comunicación de una a otra capa de forma contigua, si se necesita establecer una
comunicación directa con el kernel desde una capa más externa, se generan
“sobrecostes”.
• Estructura cliente-servidor
En este caso, el código se traslada a capas superiores y se elimina la mayor parte del
sistema operativo para mantener un núcleo mínimo. La idea es implementar la mayoría de
las funciones de un sistema operativo como procesos de usuario. Para solicitar un servicio,
como la lectura de un bloque de cierto fichero, un proceso de usuario (proceso cliente)
envía la solicitud a un proceso servidor, que realiza el trabajo y devuelve la respuesta.
En este caso, lo único que hace el núcleo es controlar la comunicación entre los clientes y
los servidores. Al separar el sistema operativo en partes, cada una de ella controla una
faceta del sistema como el servicio a ficheros, servicio de procesos, servicio a los
terminales o servicio a la memoria, cada parte es pequeña y controlable. Dado que todos
los servidores se ejecutan como procesos en modo usuario y no en modo núcleo, no
tienen acceso directo al hardware. En consecuencia, si hay un error en el servicio de
ficheros éste puede fallar, pero esto no afectará en general a toda la máquina.
5. Tipos de sistemas
5.1. Clasificación por usuarios
o Sistemas Monousuario
El sistema operativo admite un único usuario. Este usuario no tiene login, aunque
su cuenta puede ser protegida con una contraseña
o Sistemas Multiusuario
El sistema operativo admite varios usuarios y cada uno de ellos hace login. Cada
usuario ejecuta sus aplicaciones y, por ello, si más de un usuario corre el mismo
programa para un sistema operativo son procesos diferentes. Cada uno de los
usuarios tiene su ambiente protegido.
o Monotarea
Se le dice monotarea a aquel sistema operativo que solamente puede ejecutar un
proceso del programa de computación a la misma vez.
o Multitarea
La multitarea es la característica de los sistemas operativos modernos que permite
que varios procesos o aplicaciones se ejecuten aparentemente al mismo tiempo,
compartiendo uno o más procesadores.
Sin embargo, permiten simular la multitarea haciendo que el sistema realice una
tarea rotatoria con intercambio muy rápido.
o Sistemas multiproceso
Los sistemas operativos Multiproceso son los que permiten realizar varios
procesos simultáneamente y por lo tanto son capaces de ejecutar varias tareas al
mismo tiempo.
o Sistemas autoarrancables
No requieren estar instalados para ser ejecutados
• Sistemas por lotes simples: Las primeras máquinas eran muy caras, y por lo tanto,
era importante maximizar el uso de máquina. El tiempo desperdiciado por causa
del tiempo de planificación e instalación no era aceptable. Para mejorar el uso, se
desarrolló el concepto de un sistema operativo por lotes.
La idea central detrás del esquema de procesamiento por lotes simple fue el uso
de una pieza de software conocida como monitor. Con el uso de este tipo de
sistema operativo, el usuario ya no tenía acceso directo a la máquina. Mas bien, el
usuario propone el trabajo en tarjetas o cinta a un operador de computadora,
quien hace lotes de los trabajos reunidos de manera secuencial y coloca el lote
completo en un dispositivo de entrada para que lo use el monitor. Cada programa
está construido para regresar al monitor cuando completa el procesamiento, en
este punto el monitor carga el siguiente programa de manera automática.
Con un sistema operativo por lotes, el tiempo de máquina se alterna entre la
ejecución de programas usuario y la ejecución del monitor. Se han sacrificado dos
cosas: se le ha otorgado cierta memoria principal al monitor y éste consume algún
tiempo de máquina. Estas dos son formas de sobrecarga. Aun con esta sobrecarga,
el sistema por lotes simple mejora el uso de la computadora.
Este caso no es necesario. Ya que debe existir suficiente memoria para contener
el sistema operativo (monitor residente) y un programa de usuario. Suponiendo
que existe espacio para el sistema operativo y dos programas de usuario. Ahora,
cuando un trabajo necesita esperar una E/S, el procesador puede continuar a otro
trabajo, el cual es probable que no espera una E/S. Como se muestra en la
siguiente figura:
Los sistemas operativos de multiprogramación son muy sofisticados comparados
con los sistemas de uniprogramación o de programa único. Para tener varios
trabajos preparados para correr, deben mantenerse en la memoria principal y
requieren cierta forma de administración de memoria. Además, si varios trabajos
están preparados para correr, el procesador debe decidir cuál correr, lo cual
requiere cierto algoritmo para planificación.
La ROM BIOS (Read Only Memory. Basic Input/Output System) es una memoria de solo
lectura, la cual constituye un sistema básico de entrada y salida que localiza y reconoce los
elementos necesarios para cargar la memoria RAM.
Lo primero que hace la BIOS, es comprobar que todos los elementos de Hardware
necesarios para arrancar el ordenador se encuentran disponibles.
La ROM BIOS hace una llamada a una pequeña parte de la misma llamada RAM CMOS, la
cual está alimentada por una pequeña pila de litio. Allí se encuentra la información sobre
cuál es el disco desde el que va a arrancar el ordenador, la fecha y la hora…
Leídas estas instrucciones, la BIOS ordena ejecutar en el Sector 0 del disco duro. Aquí
tenemos dos formas de arranque que divergen:
• Legacy BIOS(Modo tradicional): En el sector 0 del disco duro, se ejecuta el “Master Boot
Record”, (más tarde explicaremos un poco más sobre este). Básicamente, lo que nos va a
indicar el MBR es, con cuál de las particiones del disco va a arrancar el sistema.
• UEFI: En este caso, la tabla de particiones tiene mayor flexibilidad (no se encuentra
limitada a cuatro particiones). Una de estas particiones, llamada partición EFI, es una
partición de arranque, donde se instalarán los diferentes programas de arranque.
Seleccionado el gestor de arranque deseado, los pasos son comunes al caso anterior.
Si podemos iniciar el sistema en modo UEFI tiene que ver con la antigüedad de nuestra BIOS,
los sistemas modernos si tienen como opción este modo de arranque.
Opciones muy útiles de la BIOS a tener en cuenta: Boot Sequence y Boot menu (selección de la
unidad de arranque). A veces están protegidas por Secure Boot.
Un gestor de arranque es un programa sencillo que tiene como finalidad cargar el sistema
operativo preparando todo lo que necesita este para funcionar.
Los gestores de arranque adquieren mayor importancia cuando hay varios sistemas
operativos instalados en el mismo ordenador.
• BootIt Next Generation: Es el gestor de arranque más empleado para discos duros de
grandes dimensiones con particiones de grandes dimensiones. Se arranca desde un USB o
CD. El propio gestor de arranque cuenta con opciones para crear, formatear,
redimensionar y eliminar particiones. Tiene opciones muy avanzadas y útiles pero es un
software de pago que no está al alcance de todo el mundo.
• GAG: Se trata de un gestor de arranque gráfico que permite elegir en el momento del
arranque cuál de los sistemas operativos disponibles desea arrancar el usuario. Como
principales ventajas está el poder poner claves a cada sistema operativo, restringiendo su
acceso y que es totalmente gratuito.
• BootMagic: Permite ejecutar sistemas operativos Windows en un único PC. Cada vez que
se inicia, Bootmagic muestra una lista de sistemas operativos con los que cargar el equipo
y nos permite definir diversas opciones de arranque.