25

Introducción a los Sistemas Operativos

Embed Size (px)

Citation preview

Page 1: Introducción a los Sistemas Operativos
Page 2: Introducción a los Sistemas Operativos

Definición de SO

Máquina desnuda:• computadora que carece de SO. El término pone de relieve que una

máquina sin SO no resulta útil. Un ordenador sólo es capaz de repetir una sencilla secuencia de operaciones a alta velocidad: leer instrucción máquina, incremento del contador del programa y ejecución.

• Para que la máquina realice una determinada función debe tener un programa cargado en MP y ha de conseguir que el contador del programa apunte a la dirección de comienzo.

Misión del SO:• revestir a la máquina, añadiendo funcionalidad que permita su

cómodo manejo y utilización

Page 3: Introducción a los Sistemas Operativos

Funciones básicas del SO• gestión de recursos del equipo• ejecución de servicios para los programas• ejecución de mandatos de los usuarios

Todas ellas se caracterizan por pretender facilitar el uso del hardware.

Como se indica en la siguiente transparencia, el SO se articula en 3 capas principales. La más cercana al núcleo se denomina kernel, y es la encargada de gestionar los recursos hardware del sistema, suministrando la funcionalidad básica del SO.Esta capa ha de ejecutarse en nivel núcleo.

Definición de SO

Page 4: Introducción a los Sistemas Operativos

Núcleo

Servicios

Programas

Usuarios

Shell

Sistema

operativo

API

Hardware

Definición de SO

Page 5: Introducción a los Sistemas Operativos

La capa de servicios (o llamadas al sistema) ofrece a los programas servicios en forma de interfaz de programación (API). Esta capa extiende la funcionalidad ofrecida por el kernel. Se suele decir que el SO ofrece a los programas una máquina virtual extendida (con funcionalidad añadida).

La capa de intérprete de comandos o shell suministra una interfaz a través de la que el usuario puede interactuar con la máquina. La shell recibe comandos u órdenes de los usuarios, los interpreta y si puede los ejecuta. La shell suele ejecutarse en nivel de usuario.

A continuación se analizan las diversas facetas de la funcionalidad de los SSOO.

Definición de SO

Page 6: Introducción a los Sistemas Operativos

A) El SO como gestor de recursos

En un ordenador suelen ejecutarse simultáneamente diferentes programas, que compiten por el uso de los recursos del sistema. Es el SO quien ha de arbitrar su uso y asignación. Además, el SO ha de garantizar la protección de unos programas frente a otros, suministrando información sobre el uso que se hace de los recursos.

• Asignación de recursos: el SO ha de mantener estructuras de datos que le permitan saber qué recursos están libres y cuáles ocupados. La asignación de recursos se hace según su disponibilidad y la prioridad de los programas solicitantes. Es muy importante la recuperación de los recursos, de forma que cuando no estén en uso se liberen para su posible uso por parte de otros programas.

Definición de SO

Page 7: Introducción a los Sistemas Operativos

• Protección: el SO debe garantizar la protección entre los usuarios del sistema. Ha de asegurar la confidencialidad de la información, y que no haya interferencias entre los trabajos en ejecución. Los recursos asignados a un programa no podrán ser asignados a ningún otro.

• Contabilidad: el SO debe medir el nivel de uso de los recursos a lo largo de la ejecución de los programas. Así puede conocer la carga de uso de los recursos. Cuando la contabilidad se usa únicamente para conocer la carga de los componentes del sistema se habla de monitorización.

Definición de SO

Page 8: Introducción a los Sistemas Operativos

B) El SO como máquina extendida

El SO ofrece a los programas un conjunto se servicios denominados llamadas al sistema. Permiten ejecutar de forma cómoda y segura ciertas operaciones que manejan los recursos del sistema. Cuatro clases de llamadas: ejecución de programas (lanzar ejecución de programas, abortar, conocer las condiciones de ejecución, comunicar y sincronizar), operaciones de E/S (lectura, escritura y modificación de periféricos), operaciones de archivos y directorios (creación, borrado, renombrado, apertura, escritura, lectura) y detección y tratamiento de errores (errores en las operaciones de E/S, en accesos a memoria, en operaciones aritméticas, etc)

Definición de SO

Ocultar los detalles del hardware al usuario y proporcionar un entorno máscómodo. (Recursos Virtuales)

Page 9: Introducción a los Sistemas Operativos

C) El SO como interfaz de usuario

El SO ha de permitir al usuario un diálogo interactivo con el sistema. Esto se logra mediante el intérprete de comandos o shell. El shell se comporta como un bucle infinito, que repite incesantemente la siguiente secuencia:

- esperar nueva orden del usuario- analizar la orden y ejecutarla (usando para ello los servicios

pertinentes del SO)- vuelta a modo de espera (hasta que llegue la nueva orden)

La mayoría de los SO ofrecen intérpretes de comandos que permiten la ejecución de archivos de mandatos o shell scripts. En ellos se incluyen varios mandatos, junto con instrucciones especiales que controlan en flujo de ejecución.

Definición de SO

Page 10: Introducción a los Sistemas Operativos

Deben quedar claros los siguientes conceptos:

a) Usuario: persona autorizada a utilizar el sistema. Se identifica mediante un nombre de cuenta y una clave. El SO no asocia el concepto de usuario con el de persona física. Por ejemplo, podría pensarse en un usuario genérico para todos los alumnos de una asignatura. Internamente el SO asigna a cada usuario un identificador (uid: user identification) y un perfil. En él se describen los permisos concedidos al mismo: es decir, las operaciones que puede realizar.

b) Usuario privilegiado (superusuario, administrador, root), al que se le concede autorización para realizar todas las operaciones posibles. Este usuario es imprescindible para administrar el sistema

Definición de SO

Page 11: Introducción a los Sistemas Operativos

c) Los usuarios se organizan en grupos (por ejemplo, en una Univ. podría haber un grupo de alumnos, otro de profesores, otro de personal de servicios, etc). Todo usuario ha de adscribirse a un grupo. La figura del grupo también se emplea en la protección del sistema, ya que los derechos de un usuario son los suyos propios más los recibidos por pertenecer a su grupo.

Definición de SO

Page 12: Introducción a los Sistemas Operativos

Arranque del Equipo

En el arranque de un equipo se pueden distinguir dos fases:arranque hardware y arranque del SO.

a) Arranque hardware. Al ser la MP volátil, al encender el equipo la MP está vacía. Al no disponer de programa que ejecutar, el ordenador no es capaz de realizar ninguna tarea. Actualmente, los equipos suelen disponer de un programa especial permanentemente grabado en una memoria ROM (no volátil).

0

2.047

1.048.575

Dirección Celdas

U nidad de M em oria

ZonaRO M

0

1.046.528

1.048.575

Dirección Celdas

U nidad de M em oria

ZonaRO M

Page 13: Introducción a los Sistemas Operativos

Como se observa en la figura anterior, parte del mapa de memoria está constituido por una memoria ROM no volátil. El programa especial cargado en este tipo de memoria se denomina iniciador ROM.

Al arrancar el equipo (o pulsar el botón de RESET), se genera una señal eléctrica que produce la carga de los registros del procesador, de forma que el contador del programa contendrá la dirección de comienzo del programa iniciador. Este programa realizará las siguientes tares:

- comprobación del sistema, para determinar sus características (cantidad de MP, periféricos instalados, etc) y comprobar si el conjunto funciona de forma correcta.

- fase de lectura y almacenamiento en memoria del programa cargador del SO (carga == lectura de periférico + almacenado en disco)

Arranque del Equipo

Page 14: Introducción a los Sistemas Operativos

- dar control al programa cargador del SO.

Para mayor flexibilidad se hace que el iniciador ROM sea independiente del SO, de forma que en una misma máquina se puedan ejecutar diferentes SSOO.

En el caso de un PC la memoria ROM contiene software de E/S, denominado BIOS (Basic input-output system). La BIOS es proporcionado por el fabricante del equipo y contiene procedimientos para leer y escribir de disco, leer caracteres del teclado y escribir en pantalla.

El SO se encuentra almacenado en una unidad de disco, como se muestra en la transparencia siguiente. Por tanto, el cargador del SO (boot) se encuentra en cierta zona del disco (usualmente 4 primeros sectores del disco) y tiene un tamaño prefijado.

Arranque del Equipo

Page 15: Introducción a los Sistemas Operativos

Programa cargador(identificador) Disco

Sistema Operativo

Como se indicó con anterioridad, el iniciador ROM trae a MP el cargador del SO. El programa iniciador y el SO tienen un convenio sobre la ubicación, dirección de arranque y tamaño del cargador del SO. De esta forma el iniciador ROM es independiente del SO en tanto en cuanto siga este convenio.

Para mayor seguridad el programa cargador del SO incluye en una posición prefijada una contraseña. Así el iniciador puede comprobar si la información en el sector es en realidad un cargador.

Arranque del Equipo

Page 16: Introducción a los Sistemas Operativos

b) Arranque del SO. El cargador del SO aloja en memoria algunos componentes del SO. Cuando estén cargados se pasa a la fase de iniciación, que consta de las siguientes etapas:

- comprobación del sistema: más pruebas del hardware, comprobación del sistema de archivos, etc. Operación costosa, ya que ha de revisar todos los directorios del sistema de archivos.

- establecimiento de las estructuras de información propias del SO, tales como la tabla de procesos, las tablas de memoria y las de E/S.

- carga en MP de la parte del SO que siempre ha de estar residente (sistema operativo residente).

- creación de proceso de inicio (login) para cada terminal, así como algunos procesos auxiliares y demonios (de impresión, de comunicaciones, etc….).

Arranque del Equipo

Page 17: Introducción a los Sistemas Operativos

Los procesos de inicio presentan en cada terminal el mensaje de bienvenida y quedan a la espera de que un usuario arranque una sesión. Para ello ha de teclear su nombre de usuario y su clase (password). El proceso de inicio autentica al usuario, comprobando la validez de los datos introducidos y lanza un proceso shell, para ejecutar uno o varios archivos de mandatos.

DOS: autoexec.bat

UNIX: .login, .cshrc, etc

Después quedan a la espera de recibir órdenes por parte del usuario.

Arranque del Equipo

Page 18: Introducción a los Sistemas Operativos

Componentes y estructura del SO

Se suele considerar que el SO está compuesto de tres capas: núcleo, servicios e intérprete de mandatos (o shell).

El núcleo es la parte del SO centrado en la gestión de los recursos: procesador, tratamiento de interrupciones y funciones básicas de manipulación de memoria. Los servicios se suelen agrupar por su funcionalidad:

a) gestión de procesos: creación, planificación y destrucción de procesos

b) gestión de memoria: detectar y controlar zonas de memoria libres y ocupadas, asignación y liberación de memoria según se requiera, etc

c) gestión de E/S: facilitar el manejo de los periféricosd) comunicación y sincronización de procesose) seguridad y protección

Page 19: Introducción a los Sistemas Operativos

Núcleo

POSIX

Programas de usuario

Usuarios

Sistemaoperativo

Varias API

Hardware

Win 32

Shell 1 Shell 2

Gestión deprocesos

Gestión dememoria

Gestión de la E/S

Comunic.y

sincroniz.

Seguridad y

protección

Gestión de archivos y directorios

Componentes y estructura del SO

Page 20: Introducción a los Sistemas Operativos

Todos estos componentes ofrecen su funcionalidad a través de un conjunto de llamadas al sistema. Como se aprecia en la figura de la transparencia anterior los SSOO operativos pueden ofrecer más de una interfaz de servicios: POSIX y WIN32, por ejemplo. En este caso los programas podrán elegir qué interfaz quieren ejecutar, pero no podrán usar servicios de ambas de forma simultánea. Debido a esta ocultación de las características hardware de la máquina a través de interfaces de programación se dice que el SO presenta al usuario varias máquinas virtuales.

También puede ofrecer varios intérpretes de mandatos, unos textuales y otros en modo gráfico.

Respecto a la forma en que se estructuran estos elementos, se puede distinguir entre SSOO monolíticos y estructurados.

Componentes y estructura del SO

Page 21: Introducción a los Sistemas Operativos

Los SSOO monolíticos son aquellos que carecen de estructura clara y definida. Todos sus componentes se encuentran integrados en un único programa, que se ejecuta en un único espacio de direcciones. En este caso todas las funciones se ejecutan en modo núcleo. Suelen surgir de SSOO de pequeño tamaño, que evolucionan al añadir más y más funcionalidad. Ejemplos: MS-DOS y UNIX. Problemas: dificultad para modificarlos para añadir nuevos servicios, ya que ello supone “bucear” entre miles de líneas de código.

Dentro de los sistemas estructurados cabe distinguir entre los sistemas por capas y sistemas cliente/servidor.

En los sistemas por capas el SO está formado por un conjunto de capas interrelacionadas. Cada capa ofrece una interfaz clara y bien definida a la capa superior y sólo usa los servicios de la capa inferior.

Componentes y estructura del SO

Page 22: Introducción a los Sistemas Operativos

La principal ventaja radica en la modularidad y ocultación de la información que ofrecen: una capa no necesita saber cómo es la implementación de las capas inferiores, sólo su interfaz.

En el modelo cliente/servidor se implementan la mayoría de los servicios mediante procesos de usuario, dejando sólo una pequeña parte del SO ejecutando en modo núcleo (micronúcleo).

Micronúcleo

Procesoscliente

Procesos servidores

API API

Hardware

Servidor deprocesos

Servidor dememoria

Servidor de la E/S

Servidor de

Comunicac.

Servidor deSeguridad

Modo núcleo

Modo usuarioServidor de archivos y directorios

Componentes y estructura del SO

Page 23: Introducción a los Sistemas Operativos

No hay definición clara de las funciones propias del micronúcleo y depende de un SO a otro. Suelen ser: gestión de interrupciones, gestión básica de procesos y de memoria, servicios básicos de comunicación entre procesos.

Para solicitar un servicio a este tipo de sistemas, el proceso de usuario (cliente) solicita el servicio al servidor correspondiente. Puede que para cumplir la petición el servidor requiera, a su vez, los servicios ofrecidos por otros servidores.

Ventaja básica: flexibilidad. Cada servidor sólo se ocupa de una funcionalidad concreta, lo que facilita la modularidad (por ejemplo, el desarrollo de pruebas, el mantenimiento, etc).

Desventajas: mayor sobrecarga en el tratamiento de los servicios, ya que los servidores ejecutan en espacios de direcciones distintos, por lo que su activación es más lenta.

Componentes y estructura del SO

Page 24: Introducción a los Sistemas Operativos

Tipos de SO

1. SO MONOUSUARIO: ADMINISTRA UN SOLO COMPUTADOR (DOS,OS/2...)

2. SO MONOUSUARIO Y MULTITAREA: SE EJECUTAN VARIAS TAREAS SIMULTANEAS EN UN SOLO COMPUTADOR (Win 3.1, 3.11, 95...)

3. SO MULTIUSUARIO Y MULTITAREA: ADMINISTRA GRAN NUMERO DE COMPUTADORES Y EJECUTA A LA VEZ VARIAS TAREAS (UNIX, Linux, Win NT...)