Download Tema 1: Introducción a los Sistemas Operativos

Document related concepts

Sistema operativo wikipedia , lookup

Arquitectura de Windows NT wikipedia , lookup

Proceso de arranque en Linux wikipedia , lookup

Windows NT wikipedia , lookup

Núcleo (informática) wikipedia , lookup

Transcript
Tema 1: Introducción a los Sistemas
Operativos
Yolanda Blanco Fernández
[email protected]
¿Qué es un Sistema Operativo (SO)?
•
Un programa que actúa como intermediario entre el usuario y el
hardware del ordenador, proporcionando las bases para los
programas de aplicación.
Usr 1
Usr 2
Usr N
Programas de Usuario
Sistemas Operativo
HW
Curso 2009/2010
Componentes de un Ordenador
•
•
Recurso: componente HW necesario para llevar a cabo un trabajo.
•
Procesador o CPU: ejecuta las instrucciones indicadas por el
usuario.
•
Memoria real o RAM: almacena las instrucciones a ejecutar por el
procesador. Es volátil.
•
Almacenamiento secundario (cintas, discos, CD-ROM):
almacena información para poder recuperarla más tarde,
llevándola a la memoria principal antes de procesarla. Accesos
más lentos en comparación con memoria RAM.
•
Dispositivos E/S: son utilizados por el sistema para informar al
usuario de los resultados y estado del mismo (Salida), y también
por los usuarios para introducir los datos en el sistema (Entrada).
El sistema operativo gestiona los recursos HW del ordenador, de
forma que los usuarios puedan ejecutar sus programas de aplicación.
Curso 2009/2010
Gestión de Recursos
•
Gestor del procesador: gestiona los programas que se van a
ejecutar en el ordenador y cómo han de hacerlo, en qué orden, etc.
•
Gestor de E/S: conjunto de rutinas y datos necesarios para gestionar
los distintos dispositos E/S.
•
Gestor de memoria: permite el uso de la memoria por parte de los
programas, de la forma más segura y eficiente posible.
•
Gestor de información o de ficheros: permite organizar la
información que se va generando y almacenando en el sistema.
Objetivos fundamentales:
•
Seguridad: el SO debe evitar manipulaciones de la información del sistema:
• estado protegido (Sistema o Kernel): se ejecuta el SO y se utiliza
directamente el HW.
• estado no protegido (Usuario o User ): se ejecutan los programas de
aplicación. Imposible acceder al HW ⇒ petición al SO.
•
Abstracción: programas y usuarios ven una máquina virtual (o máquina
extendida) con la que es más sencillo trabajar porque oculta el HW.
Curso 2009/2010
Funciones del SO
•
Alcanzar la mayor eficiencia posible del HW y falicitar el uso del
mismo a los usuarios.
•
Gestión de la información: el SO facilita el almacenamiento de los
datos en medios magnéticos (cintas y discos) y proporciona funciones
de recuperación de los mismos.
•
Gestión de los recursos HW: controla la CPU, la memoria, los
dispositivos de almacenamiento secundario y los dispositivos de E/S.
•
Interfaz de usuario: permite trabajar con el SO, controlando el HW,
los programas, administrando los usuario, el espacio en disco, etc.
Curso 2009/2010
Tipos de Sistemas Operativos (I)
•
Según la utilización de los recursos:
•
En sistemas monoprocesador (una CPU):
•
•
•
Monoprogramados: sólo admiten la ejecución de un programa en el
sistema.
Multitarea: permiten ejecutar varios programas. Dado que sólo hay
un procesador, el sistema puede ser:
• multitarea apropiativo: cuando un programa desaloja al que se
estaba ejecutando en la CPU; o
• multitarea cooperativo: no hay apropiación. Cuando termina de
ejecutarse el programa que ocupa la CPU, se procesa el
siguiente.
En sistemas con varios procesadores ⇒ sistemas
multiprocesamiento (grandes potencias de cálculo).
Curso 2009/2010
Tipos de Sistemas Operativos (II)
•
Según la interactividad:
•
Procesamiento por lotes (batch): Cada trabajo consiste en un
paquete de instrucciones. Todos los paquetes de un mismo trabajo
se juntan para formar un lote.
•
•
•
•
Tiempo compartido:
•
•
•
•
El usuario no interactúa con el sistema durante la ejecución de los
trabajos.
Procesamiento de trabajos largos.
No existen restricciones de tiempo: no importa el tiempo que se
necesite para llevar a cabo el trabajo (horas o días).
Interactivos y muy conversacionales: el usuario puede introducir
datos durante la ejecución de los programas mediante un intérprete
de comandos.
Varios usuarios simultáneamente.
Tiempos de respuesta muy rápidos (segundos).
Tiempo real.
Curso 2009/2010
Tipos de Sistemas Operativos (III)
•
Tiempo real (cont.):
•
•
•
•
•
Tiempos críticos de actuación ⇒ respuestas en milisegundos.
La información debe estar permanentemente actualizada.
Infrautilización del sistema: el procesador deberá permanecer
prácticamente inactivo para atender lo antes posible cualquier evento de
entrada ⇒ programas pequeños, rápidos y eficientes.
Según el número de usuarios:
•
Monousuario.
•
Multiusuario.
Según el tipo de aplicaciones:
•
De propósito general.
•
De propósito especial.
Curso 2009/2010
Llamadas al SO
•
Mecanismo empleado por los programas para acceder al HW.
•
Conjunto de rutinas ejecutadas en modo protegido (kernel,
privilegiado).
•
•
•
•
•
•
•
Gestión de procesos.
Gestión de operaciones de E/S.
Gestión de memoria.
Gestión del sistema de ficheros.
Gestión de errores.
Protección.
La información que requieren se entrega de dos formas:
•
•
Registros del procesador : En cada registro se escribe un dato de los que
necesita la llamada para realizar la acción solicitada.
Bloques de parámetros: Si el número de parámetros supera el de
registros disponibles en el ordenador, los datos se agrupan en bloques
con un formato determinado, pasando en un registro la dirección de
memoria donde se encuentra almacenado dicho bloque.
Curso 2009/2010
Interfaz de Usuario
•
Son los procedimientos que ofrece el SO para facilitar el trabajo entre
los usuarios y él mismo.
•
Intérprete de comandos:
•
•
Basado en lenguaje de comandos con una sintaxis determinada.
•
Comandos típicos: ejecución de programas, operaciones de E/S,
gestión de ficheros, definición del entorno de trabajo (set).
Interfaz gáfico: interfaces ágiles, atractivas y fáciles de usar (menús,
iconos y ventanas).
Curso 2009/2010
Estructura de los Sistemas Operativos (I)
•
Jerárquica:
• Surge ante las necesidades de los usuarios y el crecimiento de la
complejidad de los sistemas.
• Consiste en modularizar el SO: se divide en pequeñas partes
perfectamente definidas y comunicadas mediante interfaces.
• Estructura de niveles de los sistemas operativos basada en su división en
capas.
• Mecanismo de acceso: las funciones de un nivel superior solicitan
servicios de los niveles inferiores, pero no de los superiores.
Usuarios y aplicaciones
Gestión de la información
Gestión de memoria
Gestión de E/S
Gestión del procesador
Hardware
Curso 2009/2010
Estructura de los Sistemas Operativos (II)
•
Microkernel:
• Sistemas operativos orientados a comunicaciones ⇒ cliente-servidor.
• El objetivo es hacer un núcleo lo más pequeño posible, dotándole
únicamente de funciones que son:
• críticas en tiempo (requieren respuesta rápida);
• indispensables para la correcta administración del procesador;
• de uso común y general de todas las aplicaciones, y de los servicios
del núcleo del SO (gestión del procesador, facilidades de
comunicación y sincronización de programas).
• Ventajas: modularidad, rapidez, manejo más sencillo, fiabilidad (si falla un
servidor, se puede alcanzar otro), facilidad para desarrollar sistemas
distribuidos.
• Inconvenientes: las operaciones de E/S porque los controladores de los
dispositivos de E/S deben residir en el núcleo.
Curso 2009/2010
Estructura de los Sistemas Operativos (III)
•
Orientada a objetos:
• El SO es una colección de objetos (programas, dispositivos periféricos,
líneas de comunicación, etc).
• Interacción entre objetos: cada objeto pone a disposición de los restantes
un conjunto de operaciones para poder hacer uso de él.
• El núcleo del SO se encarga de mantener las definiciones de los objetos
disponibles y controlar los privilegios de acceso a los mismos.
• Cuando un programa desee realizar una operación sobre un objeto, debe
solicitarlo mediante llamada al SO (indicando la operación deseada y qué
derecho tiene de utilizarlo).
• Estructura basada en una red de objetos interconectados por medio de
capacidades de acceso a sí mismos.
• Abstracción: cada objeto oculta sus detalles tras la lista de operaciones
que se pueden realizar sobre él (por ejemplo, encolar y desencolar son
las operaciones que ofrece un objeto cola, sin necesidad de dar detalles
sobre la estructura interna que se utilice para implementar dicha cola).
Curso 2009/2010