Está en la página 1de 55

UNIVERSIDAD NACIONAL DE INGENIERIA

FACULTAD DE ELECTROTECNIA Y COMPUTACIN DEPARTAMENTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES

Mquinas Computadoras II

Introduccin a los Sistemas Operativos

Contenido
Introduccin Conceptos y Servicios Prestados Evolucin de los Sistemas Operativos Procesos Gestin de Memoria Planificacin y Gestin de Recursos

Introduccin a los SO

Ingeniera Electrnica

INTRODUCCIN

Introduccin a los SO

Ingeniera Electrnica

Componentes de una Mquina Computadora

Introduccin a los SO

Ingeniera Electrnica

Recursos Administrados por un Sistema Operativo (SO)

Introduccin a los SO

Ingeniera Electrnica

Evolucin de los SO
Examinaremos las generaciones sucesivas de ordenadores para ver cmo eran sus sistemas operativos. La Primera Generacin (1945-1955): Tubos de Vaco y Tableros de Conexiones. La Segunda Generacin (1955-1965): Transistores y Sistemas por Lotes. La Tercera Generacin (1965-1980): Circuitos Integrados y multiprogramacin. La Cuarta Generacin (de 1980 hasta el presente): Computadores Personales

Introduccin a los SO

Ingeniera Electrnica

Primeros Sistemas Operativos

Introduccin a los SO

Ingeniera Electrnica

Historia SO Unix

Introduccin a los SO

Ingeniera Electrnica

Historia de Windows

Introduccin a los SO

Ingeniera Electrnica

CONCEPTOS Y SERVICIOS PRESTADOS


Introduccin a los SO 10 Ingeniera Electrnica

Sistemas Operativos

Un programa que controla la ejecucin de los programas de aplicacin.

Un interfaz entre las aplicaciones y el hardware

Introduccin a los SO

11

Ingeniera Electrnica

Principales objetivos de un SO
Conveniencia Facilita uso de computadora Eficiencia Uso de recursos ms eficientemente Habilidad de crecimiento Permite un efectivo desarrollo, prueba y introduccin de nuevas funciones sin interferir con servicios

Introduccin a los SO

12

Ingeniera Electrnica

Capas y Vistas de una computadora

Introduccin a los SO

13

Ingeniera Electrnica

El Rol del SO
Una computadora es un conjunto de recursos para el movimiento, el almacenamiento y tratamiento de los datos. El sistema operativo es responsable de administrar estos recursos

Introduccin a los SO

14

Ingeniera Electrnica

Servicios Proporcionados por SO


Programas para desarrollo
Editores y depuradores

Ejecucin de Programas
SO maneja la programacin de numerosas tareas necesarias para ejecutar un programa

Contabilidad
Recoge las estadsticas de uso Monitor de rendimiento

Introduccin a los SO

15

Ingeniera Electrnica

Servicios de Acceso
Acceso a dispositivos de E / S
Cada dispositivo tendr una interfaz nica SO presenta interfaz estndar para los usuarios

Acceso controlado a los archivos


Acceso a diferentes medios por medio de una interfaz comn a los usuarios Proporciona proteccin en los sistemas de acceso mltiple

Acceso al Sistema
Controla el acceso al sistema y sus recursos

Introduccin a los SO

16

Ingeniera Electrnica

Servicios

Deteccin de errores y respuesta Tipos de errores


Errores de hardware interior y externo Errores de software SO no puede acceder a la solicitud de aplicacin

Tipos de respuestas
Borrar condicin de error con el menor impacto en aplicaciones en ejecucin Terminar el programa con error Recuperar la operacin Reportar error a la aplicacin

Introduccin a los SO

17

Ingeniera Electrnica

Puede ser ms fcil de entender los requisitos clave de un sistema operativo, considerando la evolucin de los sistemas operativos

EVOLUCIN DE LOS SISTEMAS OPERATIVOS


Introduccin a los SO 18 Ingeniera Electrnica

Razones de Evolucin de los SO


Actualizaciones de hardware adems de nuevos tipos de hardware
Inicialmente no se utilizaba paginacin ya que no exista el hardware que lo manejara Utilizacin de terminales grficas

Nuevos servicios
Respondiendo a la demanda de los usuarios o administradores del sistema

Mejoras
Debido a fallas en el SO descubiertas

Introduccin a los SO

19

Ingeniera Electrnica

Evolucin de los SO
Procesamiento en serie Sistemas simples de lotes Sistemas de lotes multiprogramado Sistemas de Tiempo Compartido

Introduccin a los SO

20

Ingeniera Electrnica

Procesamiento en serie

Los problemas incluyen: Sin sistema operativo


Programacin de tareas Tiempo de preparacin (mucho tiempo)

Mquinas son ejecutadas desde una consola con luces indicadoras, interruptores, dispositivo de entrada, y la impresora

Introduccin a los SO

21

Ingeniera Electrnica

Sistemas simples de lotes


Las primeras computadoras eran muy caras
Importante maximizar la utilizacin del procesador

Monitor
El software que controla la secuencia de eventos Agrupa trabajos por lotes El Programa devuelve el control al monitor cuando haya terminado

Introduccin a los SO

22

Ingeniera Electrnica

Programa Monitor
El monitor controla la secuencia de eventos Un monitor residente es un software siempre en la memoria El monitor lee el procedimiento y le pasa el control El procedimiento devuelve el control al monitor Un lote de trabajos se encolan, y se ejecutan lo ms rpidamente posible El monitor mejora el tiempo de preparacin de cada trabajo.
Un procedimiento (tambin llamado trabajo o job) es un conjunto coherente de instrucciones para realizar un trabajo particular.
Introduccin a los SO 23 Ingeniera Electrnica

Job Control Language


Un tipo especial de lenguaje de programacin para controlar los trabajos
Lenguaje de Control de trabajos

Proporciona instrucciones para el monitor


Compilador a utilizar Datos a utilizar

Introduccin a los SO

24

Ingeniera Electrnica

Modos de Operacin
Modo Usuario
Programas de usuarios se ejecutan en modo usuario Ciertas reas de la memoria son protegidas del acceso de usuarios Ciertas instrucciones no pueden ser ejecutadas

Modo Kernel (privilegiado)


El monitor se ejecuta en modo kernel Instrucciones privilegiadas pueden ser ejecutadas, todas la memoria esta disponible

Introduccin a los SO

25

Ingeniera Electrnica

Caracterstica Deseables de hardware Proteccin de la memoria para el monitor


Los trabajos no pueden sobrescribirse o modificarse

Temporizador
Impedir que un trabajo monopolice el sistema

Instrucciones privilegiadas
Slo ejecutado por el monitor

Interrupciones

Introduccin a los SO

26

Ingeniera Electrnica

Sistemas de lotes multiprogramado CPU esta a menudo ocioso


An con secuencionamiento automtico de trabajos Dispositivos de E/S son ms lentos comparados con el procesador Ejemplo de utilizacin del sistema:

Introduccin a los SO

27

Ingeniera Electrnica

Programacin Simple
El procesador debe esperar que se complete una instruccin de E/S para continuar

Introduccin a los SO

28

Ingeniera Electrnica

Multiprogramacin
Cuando un Job necesita esperar por E/S, el procesador puede cambiar a otro Job

Introduccin a los SO

29

Ingeniera Electrnica

Multiprogramacin (3 Programas)

Introduccin a los SO

30

Ingeniera Electrnica

Ejemplo de Atributos de Ejecucin

Introduccin a los SO

31

Ingeniera Electrnica

Histograma de Utilizacin

Introduccin a los SO

32

Ingeniera Electrnica

Sistemas de Tiempo Compartido


Se utiliza la multiprogramacin para manejar mltiples tareas interactivas.

El tiempo del procesador es compartido entre mltiples usuarios

Mltiples usuarios acceden simultneamente el sistema por medio de terminales

Introduccin a los SO

33

Ingeniera Electrnica

Multiprogramacin por lote vs. Tiempo Compartido


Principal Objetivo
Multiprogramacin por lote Maximizar el uso del procesador

Fuente de comandos al SO
Lenguaje de control de comandos proporcionado por la tarea (job)

Tiempo Compartido

Minimizar el tiempo de respuesta

Comandos ingresados en la terminal

Introduccin a los SO

34

Ingeniera Electrnica

Ejemplo: CTSS
Compatible TimeSharing System (CTSS)
Desarrollado por MIT como proyecto MAC
En cada interrupcin el SO obtiene el control y puede asignar el procesador a otro usuario El control es pasado a un usuarios

En cada intervalo de Tiempo:


El reloj genera una interrupcin cada 0.2 segundos Es cargado el programa y datos del usuario

Introduccin a los SO

35

Ingeniera Electrnica

CTSS Uso de la Memoria


JOB1: 15,000 JOB2: 20,000 JOB3: 5000 JOB4: 10,000

Introduccin a los SO

36

Ingeniera Electrnica

Problemas y Dificultades
Trabajos mltiples en la memoria deben proteger sus datos de otros trabajos Sistema de archivos debe ser protegido para que slo los usuarios autorizados puedan accederlos Disputa por los recursos deben ser manejada Impresoras, almacenamiento, etc

1 2 3

Introduccin a los SO

37

Ingeniera Electrnica

Principales Avances
Los sistemas operativos se encuentran entre las piezas ms complejas de software que se haya desarrollado Los avances ms importantes son:
Procesos Gestin de la memoria Proteccin de la informacin y la seguridad Planificacin y gestin de los recursos Sistema

Introduccin a los SO

38

Ingeniera Electrnica

PROCESOS

Introduccin a los SO

40

Ingeniera Electrnica

El SO controla la Ejecucin de Aplicaciones


Los recursos estn disponibles para mltiples aplicaciones El procesador se conmuta entre mltiples aplicaciones El procesador y los dispositivos E/S se pueden utilizar de manera eficiente.-

Introduccin a los SO

41

Ingeniera Electrnica

Requerimientos de un SO
Tarea Fundamental: Gestin de Procesos El sistema operativo debe
Manejar la ejecucin de mltiples procesos Asignar recursos a los procesos, y proteger los recursos de que cada proceso de otros procesos, Habilitar los procesos para compartir e intercambiar informacin, Habilitar la sincronizacin entre los procesos.-

Introduccin a los SO

42

Ingeniera Electrnica

Qu es un Proceso?

Una instancia de un programa que se ejecuta en un equipo Un programa en ejecucin

La entidad que se puede asignar y ejecutar en un procesador

Una unidad de actividad caracterizado por la ejecucin de una secuencia de instrucciones, un estado actual, y un conjunto de instrucciones del sistema

Introduccin a los SO

43

Ingeniera Electrnica

Elementos de un Proceso

Un proceso se compone de:


Programa cdigo (posiblemente compartido)

Cuando el proceso est ejecutando crea un Bloque de control de Procesos (PCB)


Contiene los elementos del proceso Creado y manejado por el sistema operativo Permite soporte de mltiples procesos.-

Un conjunto de datos Una serie de atributos que describen el estado del proceso

Introduccin a los SO

44

Ingeniera Electrnica

PCB - Process Control Block

Atributos
Identificador Estado Prioridad El contador del programa Punteros de memoria Contexto de datos Informacin del estado de E/S Estadsticas
Introduccin a los SO 45 Ingeniera Electrnica

Traza del Proceso


El comportamiento de un proceso individual es conocido como el listado de las secuencias de instrucciones que se estn ejecutando Este listado es llamado traza El despachador (Dispatcher) es un programa pequeo el cual cambia el control de un proceso a otro.-

Introduccin a los SO

46

Ingeniera Electrnica

Ejecucin de un Proceso

Considere tres procesos que estn ejecutndose Todo est en memoria En el ejemplo ignoremos la memoria virtual

Introduccin a los SO

47

Ingeniera Electrnica

Trazas vistas por el Procesador

Timeout

Introduccin a los SO

48

Ingeniera Electrnica

Modelo de Procesos de dos estados


Procesos pueden estar en uno de dos estados
Ejecucin (Running) No Ejecucin (Not-running)

Introduccin a los SO

49

Ingeniera Electrnica

Diagrama de colas

Los procesos son movidos por el despachador de el SO al CPU y despus de nuevo a la cola hasta que la tarea se complete

Introduccin a los SO

50

Ingeniera Electrnica

Algunas Razones para la Creacin o Finalizacin de un Proceso


Creacin Nuevo Trabajo Lote Login interactivo Creado por el SO para proporcionar un servicio Generado por procesos existentes Finalizacin Finalizacin Normal Memoria no disponible Error de proteccin Intervencin del operador o el SO

Introduccin a los SO

51

Ingeniera Electrnica

Creacin de un Proceso
El sistema operativo crea una estructura de datos para gestionar el proceso Tradicionalmente, el sistema operativo crea todos los procesos
Pero puede ser til dejar que un proceso en ejecucin cree otro

Esta accin se llama proceso de desove


Proceso Padre es el original, el proceso creador Proceso hijo es el nuevo proceso

Introduccin a los SO

52

Ingeniera Electrnica

Terminacin de un Proceso
Debe haber alguna manera de indicar que un proceso a terminado. Esta indicacin puede ser:
Una instruccin HALT que genera una alerta de interrupcin al sistema operativo. Una accin del usuario (por ejemplo, cerrar la sesin, dejar de una aplicacin) Un fallo o error Proceso padre se da por concluido.-

Introduccin a los SO

53

Ingeniera Electrnica

Modelo de Proceso de 5 estados

Pero cuando ocurre un evento el dispacher tendra que recorrer toda la cola para ver qu proceso est esperando por el evento.

Introduccin a los SO

54

Ingeniera Electrnica

Colas de Bloqueo mltiples por cada tipo de evento

Introduccin a los SO

55

Ingeniera Electrnica

Procesos Suspendidos
Los procesos deben esperar por operaciones de E/S ya que los procesadores son ms rpidos que E/S
Procesos pueden intercambiarse en disco para liberar ms memoria y usar el procesador en otros procesos

Un estado Bloqueado puede cambiarse a Suspendido cuando es intercambiado al disco. Dos nuevos estados
Bloqueado/Suspendido Listo/Suspendido.-

Introduccin a los SO

56

Ingeniera Electrnica

Un estado Suspendido

Introduccin a los SO

57

Ingeniera Electrnica

Dos estados suspendidos

Introduccin a los SO

58

Ingeniera Electrnica

Razones para la Suspensin de un Proceso


Intercambio El sistema operativo necesita liberar suficiente memoria principal para que en un proceso este listo para ejecutar. Otros razn SO SO sospecha de proceso causando problema. Solicitud de usuario interactiva Por ejemplo depuracin o en conexin con el uso de un recurso. Sincronizacin Un proceso puede ser ejecutado peridicamente y puede ser suspendida a la espera de la prxima vez. Solicitud de Proceso Padre Un proceso padre puede desear suspender la ejecucin de un descendiente para examinar o modificar el proceso suspendido, o para coordinar la actividad de varios descendientes.

Introduccin a los SO

59

Ingeniera Electrnica

Procesos e Hilos
Los procesos tienen dos caractersticas:
Propiedad de los recursos - proceso incluye un espacio de direcciones virtuales para mantener la imagen de proceso Programacin / ejecucin - sigue una ruta de ejecucin que puede ser intercalada con otros procesos

Estas dos caractersticas son tratadas de forma independiente por el sistema operativo La unidad de dispensa (dispatcher) se conoce como un hilo o proceso ligero La unidad de propiedad de los recursos se refiere como un proceso o tarea.-

Introduccin a los SO

60

Ingeniera Electrnica

Multi-hilos
La capacidad de un sistema operativo para soportar mltiples, rutas concurrentes de ejecucin dentro de un mismo proceso.

Introduccin a los SO

61

Ingeniera Electrnica

Como puede verse un hilo


Una forma de ver un hilo es como un contador de programa independiente que opera dentro de un proceso.

Introduccin a los SO

62

Ingeniera Electrnica

Procesos e Hilos
PROCESOS Un espacio de direcciones virtuales que contiene la imagen de proceso El acceso protegido a
Procesadores, Otros procesos, Archivos, Recursos de E/S Cada hilo tiene
Un estado de ejecucin (funcionando, listo, etc.) Guardado del contexto del hilo cuando no se est ejecutando Una pila de ejecucin Algunos por subproceso de almacenamiento esttico para variables locales El acceso a la memoria y los recursos de su proceso (todos los hilos de un proceso comparten esto).-

Introduccin a los SO

63

Ingeniera Electrnica

Hilos vs Procesos

Introduccin a los SO

64

Ingeniera Electrnica

Beneficio de los Hilos


Toma menos tiempo crear un nuevo hilo que un proceso. Toma menos tiempo terminar un hilo que un proceso La conmutacin entre dos hilos toma menos tiempo que la conmutacin entre procesos Hilos se puede comunicar entre s
Sin invocar al kernel.-

Introduccin a los SO

65

Ingeniera Electrnica

Hilo usado en un sistema de un nico usuario


Trabajo en primer plano y en el fondo
por ejemplo Hoja de clculo
Un hilo cuidando la pantalla Otro hilo de los resultados de la actualizacin de frmulas

Procesamiento asncrono
Por ejemplo proteccin contra la falta de energa elctrica dentro de un procesador de textos,
Un hilo escribe desde la memoria de acceso aleatorio (RAM) de bfer al disco una vez cada minuto. este mismo hilo se planifica directamente con el sistema operativo; No se requiere cdigo de lujo en el programa principal para proporcionar los controles de tiempo o para coordinar la entrada y salida.-

Introduccin a los SO

66

Ingeniera Electrnica

Hilo usado en un sistema de un nico usuario


Ritmo de ejecucin
El hilo puede calcular una serie de datos, mientras que otro hilo realiza la lectura del siguiente lote de un dispositivo. En un sistema multiprocesador, hilos mltiples de un mismo proceso puede ser capaz de ejecutar de forma simultnea. A pesar de que un hilo puede ser bloqueado por una operacin de E/S para leer en un lote de datos, otro hilo puede estar ejecutndose.

Estructura modular del programa


Hilo hace ms fcil disear programas que implican una variedad de actividades o una variedad de fuentes y destinos de entrada y salida.-

Introduccin a los SO

67

Ingeniera Electrnica

Hilos oThreads
Varias acciones pueden afectar a todos los hilos en un proceso
El sistema operativo debe administrar estos a nivel del proceso.

Ejemplos:
La suspensin de un proceso implica la suspensin de todos los hilos del proceso La terminacin de un proceso, termina todas los hilos dentro del proceso.-

Introduccin a los SO

68

Ingeniera Electrnica

GESTIN DE LA MEMORIA

Introduccin a los SO

69

Ingeniera Electrnica

La necesidad de la Gestin de Memoria


La memoria es barata hoy, y se hace cada vez ms barata
Pero las aplicaciones estn exigiendo ms y ms memoria, nunca es suficiente!

Administracin de memoria, incluye intercambio de bloques de datos desde el almacenamiento secundario. Memoria de E / S es lento en comparacin con una CPU
El sistema operativo debe hbilmente sincronizar el intercambio para maximizar la eficiencia de la CPU

La memoria necesita estar ocupada para garantizar una fuente razonable de procesos listos para ejecutarse
Introduccin a los SO 70 Ingeniera Electrnica

Direccionamiento de Memoria Virtual

Introduccin a los SO

71

Ingeniera Electrnica

Conceptos Preliminares
Direcciones Lgica
Referencia a la localizacin de memoria idenpendiente de la asignacin actual de los datos en la memoria

Memoria Real y Virtual Memoria Real


Memoria principal, la RAM actual

Memoria Virtual
Memoria en el disco Permite una multiprogramacin efectiva y libera la preocupacin del usuario en el uso de la memoria principal

Relativa
Direccin expresada como un localizacin relativa a un punto conocido

Fsica o absoluta
La direccin absoluta o localizacin actual en la memoria principal
Introduccin a los SO 72

Ingeniera Electrnica

Requerimientos de la Gestin de Memoria


Reubicacin Proteccin Compartiendo Organizacin lgica Organizacin fsica

El programador no sabe donde el programa se colocar en la memoria cuando se ejecuta, puede ser intercambiado con el disco y volver a la memoria principal a un lugar diferente (trasladado) Las referencias de memoria deben ser traducidas a la direccin de memoria fsica real

Introduccin a los SO

73

Ingeniera Electrnica

Requerimientos de la Gestin de Memoria


Reubicacin Proteccin Compartiendo Organizacin lgica Organizacin fsica

Los procesos no deben ser capaces de hacer referencia a posiciones de memoria de otro proceso sin permiso Imposible comprobar las direcciones absolutas en tiempo de compilacin Debe ser controlada en tiempo de ejecucin

Introduccin a los SO

74

Ingeniera Electrnica

Requerimientos de la Gestin de Memoria


Reubicacin Proteccin Compartiendo Organizacin lgica Organizacin fsica

Permitir que varios procesos accedan a la misma porcin de la memoria Es mejor permitir que cada proceso accede a la misma copia del programa en lugar de tener su propia copia

Introduccin a los SO

75

Ingeniera Electrnica

Requerimientos de la Gestin de Memoria


Reubicacin Proteccin Compartiendo Organizacin lgica Organizacin fsica

La memoria est organizada de forma lineal (por lo general) Los programas se escriben en los mdulos
Los mdulos pueden ser escritos y compilados de forma independiente

Diferentes grados de proteccin frente a los mdulos (de slo lectura, de slo ejecutar) Compartir mdulos entre los procesos
La segmentacin ayuda aqu

Introduccin a los SO

76

Ingeniera Electrnica

Requerimientos de la Gestin de Memoria


Reubicacin Proteccin Compartiendo Organizacin lgica Organizacin fsica

No se puede dejar al programador la responsabilidad de gestionar la memoria La memoria disponible para un programa ms sus datos pueden ser insuficientes
La superposicin de distintos mdulos permite que se asignar la misma regin de memoria, pero es mucho tiempo para programar

Programador no sabe cunto espacio estar disponible

Introduccin a los SO

77

Ingeniera Electrnica

Puntos claves
1) Las referencias de memoria son direcciones lgicas que se traducen dinmicamente en direcciones fsicas en tiempo de ejecucin
Un proceso puede ser intercambiada dentro y fuera de la memoria principal ocupando diferentes regiones en diferentes momentos durante la ejecucin

2) Un proceso puede ser dividido en piezas que no necesitan estar ubicada en forma contigua en la memoria principal

Introduccin a los SO

78

Ingeniera Electrnica

Ejecucin del Proceso


Parte del proceso que contiene la direccin lgica se trae a la memoria principal
El sistema operativo emite una solicitud de E/S de lectura en disco Otro proceso se ejecuta mientras la operacin del E/S en el disco se lleva a cabo Una interrupcin ocurre cuando la operacin con el disco se completa, la que hace que el sistema operativo coloque el proceso afectados en el estado Listo

Introduccin a los SO

79

Ingeniera Electrnica

Ejecucin del Proceso


El sistema operativo trae a la memoria principal algunas partes del programa La parte residente del proceso est en la memoria principal Una interrupcin se genera cuando se necesita una direccin que no est en la memoria principal El sistema operativo coloca al proceso en un estado de bloqueo

Introduccin a los SO

80

Ingeniera Electrnica

Direccionamiento en un Proceso

Introduccin a los SO

81

Ingeniera Electrnica

Paginacin
La memoria se divide en pedazos pequeos de igual tamao y divide cada proceso en pedazos del mismo tamao Los pedazos de los procesos son llamadas pginas Los pedazos de la memoria son llamados marcos El SO mantiene una tabla de pginas por cada proceso Contiene la localizacin del marco por cada pgina en el proceso La direccin de memoria consiste en un nmero de pgina y su desplazamiento dentro de la tabla

Introduccin a los SO

82

Ingeniera Electrnica

Procesos y Marcos
A.0 A.1 A.2 A.3 D.0 B.0 D.1 B.1 D.2 B.2 C.0 C.1 C.2 C.3 D.3 D.4 Estructura de Datos
Ingeniera Electrnica

83 Introduccin a los SO

Soporte necesitado por la Memoria Virtual

Hardware debe ser compatible con la paginacin y la segmentacin

El sistema operativo debe ser capaz de gestionar el movimiento de pginas y/o segmentos entre memoria secundaria y memoria principal

Introduccin a los SO

84

Ingeniera Electrnica

Paginacin
Cada proceso tiene su propia tabla de pginas Cada entrada de la tabla de pginas contiene el nmero de marco de la pgina correspondiente en la memoria principal Dos bits adicionales se necesitan para indicar:
si la pgina est en memoria principal o no si el contenido de la pgina ha sido modificado desde que fue modificada por ltima carga

Introduccin a los SO

85

Ingeniera Electrnica

Traduccin de direcciones de paginacin

P = Bit de Presencia M = Bit de Modificado Ingeniera Electrnica

Introduccin a los SO

86

Segmentacin
Un programa puede ser subdividido en segmentos
Los segmentos pueden variar en longitud Hay una longitud mxima del segmento

La direccin constar de dos partes


un nmero de segmento y un desplazamiento

Un bit es necesaria para determinar si el segmento ya est en la memoria principal Otro bit se necesita para determinar si el segmento se ha modificado desde que fue cargado en la memoria principal

Introduccin a los SO

87

Ingeniera Electrnica

Traduccin de direcciones de segmentacin


P = Bit de Presencia M = Bit de Modificado

Introduccin a los SO

88

Ingeniera Electrnica

Combinacin de Paginacin y Segmentacin


Paginacin es transparente para el programador La segmentacin es visible para el programador Cada segmento se divide en pginas de tamao fijo

Introduccin a los SO

89

Ingeniera Electrnica

Combinacin de Paginacin y Segmentacin


P = Bit de Presencia M = Bit de Modificado

Introduccin a los SO

90

Ingeniera Electrnica

Proteccin y Compartir
La segmentacin se presta a la aplicacin de la proteccin y polticas de intercambio Como cada entrada tiene una direccin base y longitud, acceso inadvertido a la memoria puede ser controlado Compartir puede lograrse mediante segmentos referenciados por mltiples procesos

Introduccin a los SO

91

Ingeniera Electrnica

Relaciones de Proteccin

Introduccin a los SO

92

Ingeniera Electrnica

Algoritmos Bsicos de Reemplazo


Se debe evitar que el sistema gaste la mayor parte del tiempo intercambiando partes en lugar de ejecutar instrucciones Hay ciertos algoritmos bsicos que son usados para la seleccin de una pgina para reemplazar, algunos son
ptimo Menos usados recientemente
Least recently used (LRU)

Primero entrar- Primero en Salir


First-in-first-out (FIFO)

Introduccin a los SO

93

Ingeniera Electrnica

Menos usados recientemente (LRU)


Reemplaza la pgina que no ha sido referenciada por el mayor tiempo Por el principio de localidad, esta debe ser la pgina con menos probabilidades de tener una referencia en un futuro prximo Difcil de aplicar
Un enfoque consiste en etiquetar cada pgina con el momento de la ltima referencia. Esto requiere una gran sobrecarga.

Introduccin a los SO

94

Ingeniera Electrnica

Primero entrar- Primero en Salir (FIFO)


Tratar cuadros pgina asignados a un proceso como un buffer circular Las pginas son removidas en el estilo roundrobin
la poltica de sustitucin ms simple de aplicar

Pgina que ha estado mas tiempo en la memoria se sustituye


Pero, estas pginas se puede necesitar de nuevo muy pronto si realmente no ha cado en desuso

Introduccin a los SO

95

Ingeniera Electrnica

Combined Examples
Un ejemplo de la aplicacin de estas polticas utiliza el siguiente flujo de direccin 2 3 2 152453252 Lo que significa que la primera pgina que se hace referencia es la 2, la segunda pgina se hace referencia es la 3, y as sucesivamente.

F = fallo de pagina

Introduccin a los SO

96

Ingeniera Electrnica

PLANIFICACIN Y GESTIN DE LOS RECURSOS

Introduccin a los SO

97

Ingeniera Electrnica

Planificacin

Un sistema operativo debe asignar los recursos entre procesos compitiendo.

Los recursos son proporcionados por un procesador durante el tiempo de ejecucin


El recurso es asignado por medio de un calendario

Introduccin a los SO

98

Ingeniera Electrnica

Objetivo general de Planificacin

El objetivo de la planificacin es asignar los procesos a ser ejecutado por el procesador en el tiempo,
de manera que cumpla los objetivos del sistema, tales como tiempo de respuesta, el rendimiento y la eficiencia del procesador.

Introduccin a los SO

99

Ingeniera Electrnica

Funciones de la Planificacin
Compartir el tiempo de manera equitativa entre los procesos Evitar que el proceso muera por recursos starving El uso eficiente del procesador Tiene una baja sobrecarga Dar prioridad a los procesos cuando sea necesario (por ejemplo, plazos de tiempo real)

Introduccin a los SO

100

Ingeniera Electrnica

Diagrama de Cola

Introduccin a los SO

101

Ingeniera Electrnica

Prioridades
El Planificador elegir siempre un proceso de mayor prioridad sobre uno de menor prioridad Tener mltiples colas de procesos listos para representar a cada nivel de prioridad

Introduccin a los SO

102

Ingeniera Electrnica

Starvation
Una prioridad ms baja puede sufrir starvation si hay un suministro Problema: constante de procesos de prioridad alta.

Solucin

Permitir a un proceso cambiar su prioridad basado en su edad o historia de ejecucin

Introduccin a los SO

103

Ingeniera Electrnica

Politicas Alternativa de Planificacin


Primero en venir- Primero en ser ejecutado
First-Come-First-Served

Circular Simple
Round Robin

Proceso ms corto prximo


Shortest Process Next

Tiempo remanente ms corto


Shortest Remaining Time

Otras

Introduccin a los SO

104

Ingeniera Electrnica

Primero en venir- Primero en ser ejecutado


Cada proceso se agrega a una fila de Procesos Listo Cuando el proceso actual termina de ejecutarse, el proceso con ms tiempo en la dila de Procesos listos se ejecuta

Un proceso corto puede esperar un largo tiempo antes de ejecutarse

Round Robin
Utiliza preferencia basada en un reloj
tambin conocido como intervalo de tiempo, ya que a cada proceso se le da un lapso de tiempo antes de ser anulada.

Interrupcin de reloj es generada a intervalos peridicos Cuando ocurre una interrupcin, el proceso actualmente en ejecucin se coloca en la cola de listos Se selecciona el siguiente proceso Listo

Proceso ms corto prximo


Proceso con menor tiempo de procesamiento es seleccionado Proceso cortos saltan delante de los procesos ms largos

Si el tiempo estimado para el proceso no es correcta, el sistema operativo puede abortar Posibilidad de morir de hambre por ms tiempo de los procesos

Tiempo remanente ms corto


Versin preventiva del proceso ms corto prximo Debe estimar el tiempo de procesamiento y elegir el ms corto

Marlon S. Ramrez M.

Iniciar Unidad 1

También podría gustarte