• No se han encontrado resultados

SISTEMAS OPERATIVOS - MATERIALES DE LA FISI UNMSM

N/A
N/A
Protected

Academic year: 2019

Share "SISTEMAS OPERATIVOS - MATERIALES DE LA FISI UNMSM"

Copied!
51
0
0

Texto completo

(1)

Ing. M. Coral

(2)
(3)

Introducción a los Sistemas

Operativos

Sistema informático Memoria Programas y datos Software del sistema operativo Procesador Procesador Controlador de E/S Controlador de E/S Controlador de E/S

Dispositivos de E/S

(4)

Sistemas operativos

• Programa que controla la ejecución de los programas de aplicación:

Acceso eficiente a recursos compartidos limitados

• Actúa como interfaz entre las

aplicaciones del usuario y el hardware • Ofrece servicios a los programas de

aplicación

(5)

Objetivos de los sistemas

operativos

• Comodidad:

– Hace que un computador sea más cómodo de utilizar.

Abstracción, Servicios establecidos, Factores humanos

• Eficiencia:

– Permite un uso eficiente de los recursos de un sistema informático.

Concurrencia, memoria, etc.

• Capacidad de evolución:

– Permite el desarrollo efectivo, la verificación y la introducción de nuevas funciones en el sistema sin interferir en los servicios.

(6)

Niveles de un sistema

informático

Usuario final

Progra-mador Programas de aplicación

Utilidades

Hardware del computador Sistemaoperativo

Diseñador del sistema

(7)

Servicios que ofrece el

sistema operativo (I)

Creación de programas:

Editores, compiladores y depuradores

(debuggers).

Ejecución de programas.

Acceso ordenado a los dispositivos de E/ S.

(8)

Servicios que ofrece el

sistema operativo (II)

Detección y respuesta a errores:

Errores internos y externos del hardware.

• Error de memoria.

• Fallo de dispositivos.

– Errores de software.

• Desbordamiento aritmético.

• Acceso a una posición prohibida de memoria.

(9)

Servicios que ofrece el

sistema operativo (III)

Contabilidad:

Recoger estadísticas.

Supervisar su rendimiento.

Utilizado para anticiparse a las mejoras

futuras. Adaptabilidad: interfaces adaptativas.

(10)

El Sistema Operativo

Funciona de la misma manera que el software normal de un computador.

Es un programa ejecutado por el procesador.

El sistema operativo abandona el control del procesador para ejecutar otros

(11)

Núcleo

• Parte del sistema operativo que se encuentra en la

memoria principal.

• Incluye las funciones utilizadas con más frecuencia.

• Carece de estructura

• También denominado kernel (DOS, Windows , Unix).

Microkernel o micronúcleo (WNT,W2K): En este

caso, el S.O. se ocupa sólo de unas pocas funciones

(gestión de memoria, procesos, IPC Inter-process

(12)

Evolución de un sistema

operativo

Actualizaciones del hardware y nuevos tipos de hardware.

Nuevos servicios.

(13)

Evolución

- La historia de los SO’s esta ligada a la rápida evolución del hardware ($ decreciente, con el nivel de integración) y a

(14)

Evolución de los sistemas

operativos

Proceso en serie (Open Shop):

No había sistema operativo.

– Las operación con estas máquinas era desde una

consola consistente en unos indicadores luminosos, unos conmutadores, un dispositivo de entrada y

una impresora. PROBLEMAS:

– Planificación, temporización.

– La preparación incluía cargar un compilador, un

programa fuente, salvar el programa compilado y, por último, cargar y montar.

(15)

Evolución de los sistemas

operativos

• Sistemas sencillos de proceso por lotes.

– Monitores:

El monitor residente que siempre reside en

memoria. Software que maneja

automáticamente los trabajos y que se carga al encender la máquina.

• Los trabajos se agrupaban por lotes, que eran

cargados y extraidos en/de la memoria por el monitor

• El programa volvía al monitor al terminar su

(16)

Lenguaje de control de

trabajos (JCL)

• Cada usuario entregaba al operador las tarjetas de programa con otras tarjetas de control que codificaban las acciones requeridas.

Tipo especial de lenguaje de programación. • Empleado para dar instrucciones al monitor:

– Qué compilador utilizar.

– Dónde copiar el objeto compilado

– Qué datos utilizar.

(17)

Ejemplo (JCL)

$ USER $ JOB

$ FTN/ $ASM

-$ LOAD $ RUN

-$ END

}

}

Instrucciones en Fortran

(18)

Características del hardware

Protección de memoria:

No permite modificar la zona de memoria

en la que está el monitor.

Temporizador:

Previene que un solo trabajo monopolice el

(19)

Problemas

Falta de interacción con el proceso

Dificultad para debugging. (localizar el error)

Ineficiencia en el uso de los recursos del sistema:

(20)
(21)

Monoprogramación

Antes de continuar, el procesador debe esperar hasta que la instrucción de E/S termine.

Programa A Esperar Ejecutar Esperar

(a) Monoprogramación

(22)

Multiprogramación

• Cuando un trabajo necesite esperar una E/S, el procesador puede cambiar al otro trabajo. Programa A Programa B Combinados X W W X X W W X X W W X

X X W X X X W X

X: programa en ejecución W: programa en espera

(23)

Tiempo compartido

Utiliza la multiprogramación para gestionar varias tareas interactivas.

El tiempo del procesador se comparte entre los diversos usuarios.

Múltiples usuarios acceden

(24)

PARA MEMORIZAR

- “Computers in the future may weigh no more than 1.5 tons” (los ordenadores del futuro no pesarán más de 1 tonelada y media) Popular Mechanics (1949)

- “I think there is a world market for maybe five computers” (me parece que la demanda mundial de ordenadores será de no más de 5 máquinas). Thomas Watson. CEO de IBM (1943)

(25)

Logros principales

Los procesos.

• La gestión de memoria.

La seguridad y la protección de la información.

(26)

Procesos

• Un programa en ejecución.

• Una instancia de un programa funcionando en un computador.

• La entidad que puede ser asignada al procesador y ejecutada por él.

(27)

Proceso

Formado por tres componentes:

Un programa ejecutable.

Los datos asociados necesarios para el

programa.

El contexto de ejecución del programa.

Toda la información que el sistema operativo

(28)

Proceso

Memoria principal Registros del procesador Lista de procesos Proceso A Proceso B

(29)

Gestión de memoria

Aislamiento del proceso.

• Asignación y gestión automáticas.

Soporte para la programación modular.Protección y control de acceso.

(30)

Memoria virtual

Permite a los programas direccionar la memoria desde un punto de vista lógico. • No existirá un espacio muerto entre la

ejecución de los procesos sucesivos, mientras un proceso se envía al

(31)

Sistema de archivos

Incorpora un almacenamiento a largo plazo.

(32)

Sistema de paginación

• Permite que los procesos estén formados por varios bloques de tamaño fijo,

denominados páginas.

• La dirección virtual está formada por un número de página y un deplazamiento dentro de la página.

• Cada página puede estar ubicada en un lugar cualquiera de la memoria principal. • La dirección real o dirección física se

(33)

Disco Memoria principal

Figura 2.9. Conceptos de memoria virtual.

La memoria principal está formada por un número de marcos de longitud fija del tamaño de una página. Para ejecutar un programa, algunas o todas sus páginas tienen que estar en el operativo de la memoria principal.

La memoria secundaria (disco) puede almacenar muchas páginas de longitud fija. Un programa de usuario está formado por varias páginas. Las páginas de todos los programas, incluso los del sistema están en el disco, en forma de archivos.

(34)

Direccionamiento de la

memoria virtual

Dirección de disco Dirección real Dirección de disco Dirección virtual

Unidad de gestión de memoria Memoria secundari a Procesador Memoria principal

(35)

Seguridad y protección de la

información

Control de acceso:

– Regula el acceso del usuario al sistema. • Control del flujo de información:

– Regula el flujo de datos dentro del sistema y su distribución a los usuarios.

Certificación:

(36)

Planificación y gestión de

recursos

• Equidad:

Otorga un acceso igual y equitativo a todos los

procesos.

Sensibilidades diferenciales:

Discrimina entre las diferentes clases de

trabajos.

Eficiencia:

(37)

Elementos principales de un

sistema operativo

Sistema operativo Cola a corto plazo Cola de E/S Cola a largo plazo Planificador a corto plazo (código) Gestor de interrupciones (código) Gestor de peticiones de servicio (código) Interrupción de un proceso

Interrupción de E/S Petición de servicio

de un proceso

Pasar el control al proceso

(38)

LLAMADAS A SISTEMA

Los procesos se comunican con el SO a través de llamadas al

sistema. Cada llamada al sistema desde un lenguaje de alto nivel se corresponde normalmente con un procedimiento que lee los parámetros de la llamada y los pasa al SO, con el control,

mediante un TRAP.

Llamada a P(a,b,c) (a,b,c) OK/ERROR TRAP(P) PROGRAMA DE USUARIO PROCEDIMIENTO DE RESPUESTA A LA LLAMADA P

RETURN FROM TRAP(P)

(39)

Estructura del sistema

• Se puede contemplar el sistema como una serie de niveles.

Cada nivel lleva a cabo un determinado subconjunto de funciones.

Cada nivel se basa en el nivel inferior para llevar a cabo funciones más primitivas.

De este modo, se descompone un problema en un número de subproblemas más

(40)

I. SISTEMAS MONOLÍTICOS

- Estructura (o falta de ella) más común (MS-DOS, UNIX)

- SO es un conjunto de procedimientos que pueden llamarse mutuamente.

- Compilación individual/enlace en un único objeto.

- No hay modos usuario/núcleo (el hardware no lo permite)

- PROBLEMAS: No hay ocultación de datos dificil de modificar y depurar.

(41)

- MS-DOS nació con limitaciones de espacio (memoria), tiempo

de desarrollo y hardware (8088 no tenía modo usuario/núcleo ni protección de memoria). Consecuencia: INESTABILIDAD

(corrupción de procesos y dispositivos)

Dispositivos

Aplicaciones de usuario

SO residente (Shell + núcleo)

drivers MS-DOS

BIOS (ROM)

(42)

Aplicaciones de usuario

Interfaz entre el shell y el núcleo (kernel)

Interfaz entre el kernel y el hardware

Intérprete de comandos (shell) compiladores y librerias del sistema

Manejo de señales Sistema de E/S Drivers terminal

Sistema de ficheros Swapping

Drivers del disco

(43)

- Ejemplo, THE (1968)

Controlador de terminal, discos y cintas, memoria terminal, discos y cintas, memoria física

5. Programas de Usuario

4. Control de E/S

3. Comunicación Operador-proceso

2. Administrador de memoria y disco

1. Temporización de procesos y multiprogramación

0. Dispositivos

- Problema: distribución de tareas en capas, baja eficiencia - Solución: arquitecturas mixtas (OS/2,NT 4.0)

(44)

Jerarquía de diseño de un

sistema operativo

Nivel Nombre Objetos Ejemplos de operaciones

13 Shell Entorno de programación Sentencias de un lenguaje de usuario de shell

12 Procesos de usuario Procesos de usuario Salir, eliminar, suspender,

reanudar

11 Directorios Directorios Crear, destruir, conectar, desconectar, buscar, listar

10 Dispositivos Dispositvos externos tales Abrir, cerrar, leer, escribir como impresoras, pantallas

y teclados

9 Sistema de archivos Archivos Crear, destruir, abrir, cerrar, leer, escribir

(45)

Jerarquía de diseño de un

sistema operativo

Nivel Nombre Objetos Ejemplos de operaciones

7 Memoria virtual Segmentos, páginas Leer, escribir, traer (fetch) 6 Almacenamiento Bloques de datos, Leer, escribir, asignar, liberar

secundario local canales de dispositivos

5 Procesos primitivos Procesos primitivos, Suspender, reanudar, esperar, semáforos, colas de señalizar

(46)

Jerarquía de diseño de un

sistema operativo

Nivel Nombre Objetos Ejemplos de operaciones

4 Interrupciones Programas de tratamiento Invocar, enmascarar, de interrupciones desenmascarar, reintentar

3 Procedimientos Procedimientos, pila de Marcar la pila, llamar, llamadas, visualización retornar

2 Conjunto de Evaluación de la pila, Cargar, almacenar, sumar,

instrucciones intérprete de microprogramas, restar, bifurcar vectores de datos y escalares

(47)

Características de los sistemas

operativos modernos

Arquitectura micronúcleo:

Asigna solamente una pocas funciones

esenciales al núcleo.

• Espacios de direcciones.

• Comunicación entre procesos (IPC).

(48)

Características de los sistemas

operativos modernos

Multihilos:

El proceso se divide en hilos que pueden

ejecutarse concurrentemente. • Hilo:

Unidad de trabajo que se puede expedir para

su ejecución.

Se ejecuta secuencialmente y es interrumpible.

Proceso:

(49)

Características de los sistemas

operativos modernos

Multiproceso simétrico (SMP):

Existencia de múltiples procesadores.Estos procesadores comparten la misma

memoria principal y dispositivos de E/S.

Todos los procesadores pueden ejecutar las

(50)

Características de los sistemas

operativos modernos

Sistema operativo distribuido:

Proporciona la ilusión de un único espacio

de memoria principal y un único espacio de memoria secundaria.

(51)

Características de los sistemas

operativos modernos

Diseño orientado a objetos:

Añade extensiones modulares a un pequeño

núcleo.

– Permite a los programadores personalizar un sistema operativo sin romper la

Figure

Figura 2.9.  Conceptos de memoria virtual.
Figura 2.10.  Direccionamiento de la memoria virtual.
Figura 2.11.  Elementos clave para la multiprogramación de un sistema

Referencias

Documento similar

Por otro lado, en la actualidad existe la posibilidad de crear aplicaciones software para dispositivos móviles inteligentes que funcionan gracias a sistemas

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

El enlace se utiliza para intercambiar datos e información de control y estado, entre el controlador de E/S y el dispositivo

a) Se ha reconocido la relación de los programas con los componentes del sistema informático: memoria, procesador, periféricos, entre otros. b) Se han identificado las fases

Indicadores municipales de sostenibilidad: Tasa de afiliación a

Los  Sistemas  en  Tiempo  Real  (STR)  generalmente  se  implantan  en  computadoras  digitales  con 

Este grupo no solo ha desarrollado sistemas para Linux, sino que además para casi todos los sistemas operativos existentes y que son las más utilizadas, como: Solaris,