Professional Documents
Culture Documents
0. Introduccion.
Definicion :
Conjunto de programas que ordenadamente relacionados entre si, dan coherencia a las acciones
que se llevan a cabo en un ordenador.
Funciones de recursos
- Gestion de recursos
. Gestion de dispositivos.
. Gestion de ficheros.
. Gestion de programas.
. Gestion de la informacion.
. Interprete de ordenes.
. Tener traductores.
. Programas de utilidad.
. Informes del sistema.
Gestion de recursos
Gestion de dispositivos
Gestion de programas
Gestion de la informacion
Interprete de ordenes
Traductores
Se encargan de traducir a lenguaje maquina los programas realizados por el usuario en un lenguaje
determinado.
Hay 4 tipos:
Ensambladores.
Compiladores.
Interpretes.
Montadores de enlace.
Montador de enlace : Crea un ejecutable con todos los modulos objeto que forman parte del programa
que se desea ejecutar.
Programas de utilidad
Pueden ser desde los editores de texto hasta los visores de video pasando por los sistemas de gestion de
bases de datos, navegadores web, etc...
Informes del sistemas
Objetivos
1. Facilidad de utilizacion:
Comodo de utilizar.
Proporciona una interfaz agradable.
2. Eficiencia en la ejecucion:
3. Capacidad de evolucion.
El sistema operativo debe ser capaz de introducir nuevas funciones sin interferir en las que
brinda.
Cableados particulares (uno particular para cada computador) para controlar funciones
básicas de la máquina. (no habia una estandarizacion).
a) El elevado coste.
b) Su bajo rendimiento.
2ª Generacion 1955 - 1965
Problema : Estos programas de ayuda al usuario solo se cargaran en memoria cuando se necesiten.
Numero de pasos:
Se carga el compilador.
Se programa en lenguaje de alto nivel y se traduce a assembler.
Se desmonta la cinta con el compilador.
El programa en assembler se traduce a codigo maquina.
Se carga el programa en memoria.
Se ejecute.
Para la optimizacion del tiempo de utilizacion del microprocesador aparecio el procesamiento por lotes
(batch) que agrupa los trabajos que requieren los mismos recursos logicos.
Con esto aparece la figura del operador, una persona dedicada a manipular el ordenador llevando a
cabo los trabajos que le llegan.
La aparicion de la figura del operador tiene la ventaja de que separa al programador de la operacion
de trabajo, pero persiste el inconveniente de que el microprocesador pasa demasiado tiempo ocioso,
Debido a eso, se crea el lenguaje de control de trabajos (JCL de job control languaje) que se encarga de
decir al ordenador el trabajo a realizar, las tareas que componen ese trabajo, los programas que ejecuta
cada tarea y los ficheros que utiliza cada programa.
Tambien aparec el 'sistema de control de E/S' (input output control system, IOCS) que se encarga de
controlar los dispositivos E/S.
Tambien debido a la secuencia informatica de trabajos aparece el gestor de interrupciones que efectua
las acciones apropiadas cuando se genera una interrupcion (un error, alguien que quiere imprimir con
la impresora ocupada, etc...)
Todo esto junto dio lugar a lo que se llama monitor residente (que es el embrion de los sistemas
operativos) compuesto de todo esto anterior mas una cosa, un traductor.
Los cientificos empezaron a trabajar con esto y mejoraron el monitor residente con dos medidas:
1. Impedir que los programas de usuario puedan manipular directamente los dispositivos de E/S
(se dieron permisos consistentes en un bit de control).
2. Impedir a los programas de usuario que puedan alterar las posiciones de memoria ocupadas
por el monitor residente. Se comprobaban todas las posiciones que el programa solicitaba y si
alguna de ellas era de la zona del monitor residente, no se le daba.
Los programas de usuario tenian que solicitar al monitor el uso de dispositivos de E/S mediante
llamadas al monitor llamadas ' llamadas al sistema ' que son instrucciones seguidas de parametros
necesarios para indicar al monitor el tipo de tarea que se le quiere encomendar.
Esto tiene la desventaja de que mientras los dispositivos de E/S estan ocupados, el microprocesador
permanece inactivo.
Para disminuir esta ineficacia en el rendimiento del microprocesador, se utilizan instrucciones 'OFF-
Line' que consiste en pasar la informacion de dispositivos lentos atraves de otros mas rapidos antes de ser
procesador por el ordenador. El encargado de realizar esta operacion es el 'input output control system' pero
no permite hacer simultaneas las operaciones del procesador y las de E/S.
Antes:
Despues:
Para aprovechar aun mas el procesador, se desarrolla el 'buffering', que para lograr la simultaneidad de
las operaciones del procesador y las de los dispositivos de E/S consiste en situar un buffer o memoria
intermedia entre el dispositivo de entrada y el procesador, de esta manera la informacion ledia del
dispositivo de entrada se podrá procesar mientras el dispositivo de entrada comienza a leer la siguiente
informacion, y lo mismo pasa a la salida.
La utilizacion del buffering permite amortiguar el tiempo requerido para procesar la informacion.
Inconvenientes :
pocas veces el procesador se mantiene ocupado todo el tiempo ya que sigue existiendo una
diferencia entre la velocidad de ejecucion del procesador y la de los dispositivos E/S.
IBM creo una familia de maquinas con software compatible. Para mantener esa arquitectura utilizaron
circuitos integrados LSI.
Tenian el problema de tener miles de miles de lineas de codigo esritas por distintas personas con el lio
que eso conllevava.
Una vez arreglado y con software, vieron que seguia siendo monotarea y eso tambien era un problema.
La memoria RAM es compartida asique para que la usaran mas tareas, la dividieron.
Cuando se tenia en memoria un unico proceso, no existian problemas de compaticion, sin embargo al
aparecer la multitarea se vio que era necesario dividir la memoria en varias partes, siendo cada parte
propiedad de un determinado proceso o tarea y no pudiendo acceder a una parte de memoria que no le
perteneciese.
Se pasa del 'buffering' al 'spooling', que consiste en utilizar un disco como un buffer de gran tamaño
para tratar de leer la mayor parte de la informacion de los dispositivos de entrada y almacenar la
informacion de salida hasta que los dispositivos de salida estuvieran disponibles para procesarlas.
.- Diferencia:
El job spool es una Pila (LIFO, last input first output) asi el primero en ejecutarse es el ultimo en
quedarse pendiente.
En un modo mono tarea el procesador solo esta activo mientras ejecuta una tarea pero entre el final de
una y el comienzo de la siguiente pasa un tiempo de inactividad. Sin embargo en la programacion
multitarea nada mas acabar una tarea ya puede leer otra del job spool, tareas que el dispositivo de entrada
ya ha leido mientras el procesador procesaba la primera....
Si varios programas se ejecutan concurrentemente, hay que limitar la posibilidad de que se interfieran.
Por lo tanto será necesario planificar procesos, almacenamiento en disco y administracion de
memoria. Una vez soluccionado esto, surgen los sistemas en multiprogramacion, en la que cada usuario
tiene un terminal conectado al sistema informatico atraves de una linea de comunicacion. Esto tiene la ventaja
de tener un reparto equitativo de los recursos dando la sensacion al usuario de posser la maquina para el solo.
Estos sistemas permanecen inactivos para atender con la mayor rapidez posible un suceso.
La orimera caracteristica es que se dearrolla el circuito integrado con miles de transistores en 1cm
cuadrado de silicio. Es la tecnologia LVSI /very large scale integration).
Ventajas:
• La arquitectura basica del ordenador no varia.
• Se reduce el precio.
• Tanto los ordenadores grandes como los pc's tienen una interfaz comu de
comunicacion de datos.
Aparecen las redes de ordenadores (y con ella la encriptacion de datos como media de seguridad).
La conjugacion de las bases de datos mas las redes de ordenadores da lugar al procesamiento
distribuido (comparticion de los recursos de varias terminales para llevar a cabo una tarea pesada).
Aparecen los SSOO en red en los que los usuarios pueden conocer la existencia de varios ordenadores
y pueden conectarse con maquinas remotas.
Por ultimo, aparecen los SSOO con interfaz grafica: WYSWYG (What you See is What you Get).
Nucleo.
Supervisor.
IOCS (input output control system).
Monitor.
Nucleo
• Administracion del procesador, proporcionando el proceso mas adecuado para conseguir una
mayuor eficiencia.
• Deteccion de interrupciones producidas por los programas que se ejecutan en el procesador.
• Controlar las llamadas a procedimientos y sus retornos.
• Controlar la concurrencia.
Supervisor
FUNCIONALIDADES
• Administracion de la memoria solicitada por los procesos. (asignar memoria, controlar las
asignaciones, controlar espacios, liberar memoria etc...).
• asignar prioridad de ejecucion a los procesos (0 mayor prioridad y cuanto mayor numero
menos prioridad).
I.O.C.S
FUNCIONALIDADES
Monitor
Es el estrato funcional mas externo y por tanto el que tiene definida una interfaz mas optimizada
respecto al usuario.
Se apoya en el IOCS y en el supervisor.
FUNCIONALIDADES
4. Ciclo de instruccion.
• Dentro del procesador existe un registro llamado 'pc' , 'program counter' que se utiliza para llevar la
cuenta de cual es la siguiente instruccion a ejecutar.
Se compone de dos ciclos, el ciclo de lectura se compone de la parte 'inicio' y de 'lee la instruccion' y el
ciclo de ejecucion es 'se ejecuta' y 'fin' despues de 'se ejecuta' se salta otra vez a 'lee instruccion' hasta
que no queden instruccions por leer y salga por el 'fin'.
5. Ciclo de interrupcion.
Interrupcion : Mecanismo que permite interrumpir la ejecucion normal del procesador para
ejecutar otros modulos.
Tipos
Interrupcion de programa
Generada por alguna condicion que se produce como resultado de la ejecucion de una
instruccion, como una referencia a una direccion de memoria no valida, una division por
cero etc...
Interrupcion de reloj
Interrupcion de E/S
Generada por un controlador de E/S para indicar que una operacion ha terminado
normalmente o para indicar condiciones de error.
INICIO LEE LA INSTRUCION EJECUTAR COMPROBAR INTERRUPCION
FIN
3. El procesador pregunta por la intyerrupcion, comprueba que hay una y envia una señal de
reconocimiento al dispositivo que genero la interrupcion.
4. El procesador se prepara para transferir el control a la rutina de interrupcion, para ello transfiere toda
la informacion necesaria para reanudar la ejecucion del programa en el futuro.
6. Ejecuta la rutina
0. Introduccion
a) Elementos logicos fundamentales.
I. Campo : Es el elemento de datos basico, se caracteriza por su longitud y tipos de datos, dados por
el usuario.
III. Registro Logico : Unidad de informacion interna de un fichero, compuesta por grupos de datos
elementales relacionados entre si.
IV.Registro fisico o Bloque : Unidad minima de memoria que se puede transferir entre la memoria y los
dispositivos de E/S.
VI.Se llama factor de bloqueo al nº de registros logicos que pueden ser empaquetados dentro de uno
fisico.
VII.Archivo o fichero : Conjunto de registros logicos homogeneo, que tienen la misma estructura y estan
relacionados entre si.
IX.Sistema de ficheros : Conjunto de programas del sistema operativo que permiten el almacenamiento
de la informacion y los datos agrupandola en ficheros situados en un soporte de
dispositivo periferico.
Dispositivos perifericos
Disco magnetico
– Dispositivo electromecanico que mantiene uno o varios discos en rotacion a velocidad constante.
– Dispone de un brazo mecanico que mueve las cabezas magneticas de lectura / escritura en sentido
transversal. (al vector velocidad de un punto situado en la periferia del disco).
Tambor magnetico
Está formada por un conjunto de componentes electronicos encargados de transformar los requisitos
del sistema operativo sobre el dispositivo en señales especificas de control que permiten gestionar los
dispositivos de dicha unidad.
c) Tiempos de acceso.
• Es el tiempo transcurrido desde que la unidad de control proporciona a la unidad de disco una
direccion de sector hasta que dicho sector es transferido a memoria.
• Tiempo de posicionamiento : tiempo que tarda la cabeza de lectura / escritura en situarse sobre el
cilindro en el que esta el sector a localizar.
• Tiempo de latencia : tiempo que tarda la cabeza en localizar el sector desde que esta sobre el
cilindro correcto. Corresponde con lo que tarda el disco en dar media vuelta.
• Tiempo de transferencia : Tiempo transcurrido desde que la cabeza se situa sobre el sector
correspondiente hasta que dicho sector es transferido a memoria.
– Un volumen de almacenamiento de acceso directo esta formado por un conjunto de discos con un
eje comun y un brazo que sopora las cabezas de lectura / escritura.
– Cada disco de los dispositivos magneticos esta formado por caras o superficies, pistas y sectores.
– Cada una de las caras de un disco esta dividida en una serie de pistas concentricas que pueden ser
accedidas por una cabeza de lectura / escritura.
– Cada una de las pistas esta dividida en sectores o bloques que contienen la minima unidad de
transferencia de informacion.
– El conjunto de todas las pistas que se encuentran en la misma vertical en cada una de las superficies
del disco y que contienen toda la informacion accesible por el conjunto de cabezas de lectura /
escritura desde una posicion fija, se denomina CILINDRO.
– La longitud de todos los sectores de un disco medida en butes es la misma, pero varia de unos
sistemas a otros.
– Desde el punto de vista fisico, la unidad minima de informacion que se puede transferir entre el
disco y la memoria es el sector.
– Desde el punto de vista logico, la unidad minima de informacion que se puede transferir es el
bloque. (por regla general un bloque suele equivaler a un sector, pero puede variar).
Bloque : 0 - 0 - 0
.- El tercero el sector.
B = K + D*J + I*P*S.
B : Nº de bloque.
K : Nº de sector.
J : Nº de superficies (sustituyo).
I : Nº de cilindro.
1. Arquitectura.
esquema a)
gestor de directorios estructura de archivos
FAT32 funciones de
manipulacion
Ordenes de Nombre de la operacion NTFS de archivos
aplicaciones + fichero sobre el q actua.
y usuarios FAT16
Planificador de sucesos.
opera sobre
registros memoria ppal. Memoria secundaria
Asignacion de
archivos (uno a uno)
agrupacion en bloques
• Para poder realizar estas operaciones necesitare una estructura que me de permisos. El planificador
de discos o planificador de accesos.
• La parte izquierda, hasta los reistros logicos inclusive pertenecen al gestor de ficheros, el resto es
responsabilidad del sistema operativo.
Pasos:
Los usuarios y programas dicen al sistema de archivos lo que quieren hacer por medio de ordenes.
Por lo tanto tenemos que tener algun mecanismo que nos permita administrar estos accesos. La gestion de
directorios nos dice donde se encontran y que propiedades tiene cada fichero.
La estructura de archivos estable como estan estructurados los archivos dentro del sistema y por lo tanto
como acceder a ellos.
Los usuarios y aplicaciones acceden a registros logicos sin enbargo las operaciones de entrada / salida se
realizan a nivel de bloques. Es necesario realizar una gestion del espacio libre para poder realizar
asignaciones cuando queramos crear un archivo o este modifique su tamaño por el motivo que sea.
Esquema b)
• por capas.
Metodos de acceso
• Pila
• Secuencial
• Secuencial Indexado
• Particionado
E/S Logica
Gestores de dispositivos
Metodos de acceso
E/S Logica
• Planifica cuando tiene que acceder al dispositivo correspondiente para la lectura / escritura
de la informacion segun lo solicite el programa.
• Selecciona los buffers a utilizar y decide cuando se inicia y finaliza la E/S.
Gestores de Dispositivos
2. Directorios
Un directorio es un archivo gestionado por el sistema operativo atraves de distintas rutinas del sistema
que controla la informacion de los archivos y directorios que cuelgan de el.
• Informacion de uso:
• Fecha de creacion
• Ultima lectura
• Ultima modificacion.
• Crear
• Borrar
• Listar
propiedades nombre
atributos
Consiste en una linea de entradas (una para cada archivo) que se van generando sin
necesidades de establecer niveles ni dependencias jerarquicas entre ellas.
Ventajas :
Inconvenientes :
• Todos los archivos deben tener nombres distintos.
• No se puede hacer una organizacion de archivos
• dificil ocultar partes del directorio al usuario.
DIRECTORIO MAESTRO
Ventajas :
• cada directorio de usuario es una simple lista de archivos, por lo tanto los
nombres deben ser unicos solo dentro del directorio del usuario
correspondiente.
Inconvenientes :
Tendremos un directorio especial que contenga los archivos del sistema. Cuando un
usuario proporcione el nombre de un archivo, el sistema operativo buscara primero en el
directorio del usuarioy si no lo encuentra, automaticamente buscara en el directorio
especial que contiene los archivos del sistema operativo.
2.3.3.Estructuras en arbol.
• La estructura jerarquica es un metodo mas potente que los anteriores y mas efectivo.
• GNU / linux utiliza un grafo ciclico, y Microsoft Windows una estructura en arbol.
• En una estructura en arbol existe un directorio raiz.
• Cada archivo en el sistema posee un nombre de ruta unico.
Tipos de rutas:
• Relativas : Define una ruta apartir de la actual
• Absolutas : Comienza en el directorio raiz y va hasta el archivo especificado.
Ventajas :
Inconvenientes :
Borrado de un directorio :
a) Enlaces simbolicos :
Ventajas :
Inconvenientes :
2.2.5.Grafos Ciclicos.
Un mismo fichero puede ser accedido desde varias trayectorias, permitiendose enlaces o
referencias a directorios de la misma trayectoria (puede volver sobre si mismo).
Se implementa igual que el grafo aciclico y las ventajas e inconvenientes son las
mismas.
Solucion :
• recorro todo el arbol y a los nodos a los que no pueda acceder los apunto para
eliminarlos.
• Ese proceso se denomina 'Recogida de residuos'.
3. Mecanismos de proteccion
4. Comparticion de archivos.
4.1.Derechos de Acceso.
4.2Accesos simultaneos.
Factor de interbloqueo :
Los registros pueden ser de tamaño fijo o variable, y tenemos 3 metodos para agruparlos.
La politica de asignacion previa requiere que se declare el tamaño maximo del archivo
en el momento de crearlo, sin embargo para muchas aplicaciones es dificil, si no
imposible, estimar de manera fiable apriori el posible tamaño del archivo, por lo
que se tiende a sobreestimar el tamaño maximo del archivo con lo que
obtenemos un desperdicio de almacenamiento secundario.
La tabla de asignacion de archivos necesita unicamente una entrada por archivo que
indique el bloque de comienzo y la longitud del archivo.
A 0 4
B 7 4
C 17 3
Se elije el primer grupo de bloques sin usar que tengan el tamaño suficinete.
6.3.Asignacion enlazada
La tabla de archivos necesita una sola entrada por archivo, que le indique el bloque de
comienzo y su longitud
6.4. Asignacion Indexada
La tabla de asignacion contiene un indice para cada archivo y este indice posee una
entrada para cada bloque asignado al archivo.
6.4.1.Por bloques.
En la tabla las casillas son un indice donde te te dice que bloques pertenecen a la
secuencia, y en la tabla lo que tenemos es para cada archivo donde esta la casilla
donde se encuentra su indice.
6.4.2.Por secuencias.
Usa un vector que contiene un bit por cada bloque del disco, si esta a cero el
bloque esta libre, si esta a uno esta ocupado.
Ventajas :
• Muy facil encontrar bloques libres.
• Es un buen metodo de gestion para cualquiera de los metodos de
asignacion de archivos.
• Ocupa poco espacio, pudiendose mantener en memoria principal con
la gran velocidad de trabajo que esto permite.
6.5.3.Indexacion.
Trata el espacio libre como si fuera un archivo y utiliza una entrada para cada
seccion libre del disco (nos indica el bloque de comienzo y cuantos bloques
contiguos libres existen a continuacion del bloque de comienzo).
0. Introduccion
Proceso N
Tabla de memoria
Tablas de dispositivos
Tablas de ficheros
Tabla de procesos
• Para administrar y controlar los procesos, para lo cual se debe conocer donde
esta ubicado el proceso y sus atributos.
PILA
ESPACIO DIRECCIONES
PRIVADAS
ESPACIO DIRECCIONES
COMPARTIDAS
• Asociado a cada proceso hay una serie de atributos utilizados por el S.O para
controlar y administrar el proceso, conocido como 'bloque de control de proceso' o
PCB cuyos elementos basicos son:
PCB
• ID del proceso.
Se utiliza para que el S.O pueda coordinar los diferentes procesos activos. Para
ello tendra:
Estructuracion de datos
• Colas de espera.
• Informacion sobre la relacion Padre - Hijo.
Gestion de memoria
2. Estados de un proceso.
Creacion de un proceso
Eliminacion de un proceso
• Por un error.
Modelo de 5 estados
Nuevo Listo Ejecucion Terminado FIN
Bloqueado
Estados
• Listo : Posee todos los recursos que necesita para ejecutarse excepto la CPU. Esta a
espera de que el planificador le asigne la CPU.
• Nuevo : Proceso que se acaba de crear pero aun no ha sido adminitdo por el S.O en el
grupo de procesos.
• Terminado : Excluido por el S.O del grupo de procesos que se pueden ejecutar,
liberandose de todos sus recursos.
El mismo modelo puede estudiarse desde otro punto de vista: Disciplina de Colas.
Cola de listos
Admitir
Expedir CPU
Cola de bloqueados
Modelo de 7 estados
Creacion
Fin plazo
admitir Liberar
Nuevo Listo Ejecucion Terminado Eliminacion
Expedir
admitnir activar ocurre el espera de
suspender suceso un suceso
Listo Y Bloqueado
Suspendido activar
suspender
Bloqueado y
Suspendido
Estados
3.1.Tipos de planficacion.
• El grado de decision del planificador a L/P no tiene que ser necesariamente corto ya
que va a ejecutarse pocas veces. (el grado de decision del planificador es lo que tarda
en decidir cual es el proceso mas prioritario).
Planificador a M/P
3.1.3.Planificador a C/P
LISTO
BLOQUEADO
BLOQUEADO Y
SUSPENDIDO
LISTO Y SUSPENDIDO
NUEVO TERMINADO
• Tiempo de respuesta (para un proceso interactivo es el tiempo que pasa desde que se
emite una solicitud hasta que empieza a recibirse la respuesta).
• Equidad : Los procesos deben ser tratados de la misma forma y ningun proceso debe
sufrir inanicion (que no llegue a ejecutarse nunca).
5. Algoritmos de planificacion
5.1.FCFS (First Come First Served) -- FIFO (First Input First Output).
Inconvenientes :
.- En ocasiones produce tiempos de retorno muy altos.
.- Tiene mejor rendimiento con procesos largos que con procesos
cortos.
.- Favorece a los procesos orientados a CPU, frente a los
orientados a E/S.
Ventajas :
.- Proporciona un tiempo de retorno medio muy bajo.
Inconvenientes :
1
Sn+1 =
n ∑Ti
Sn+1 = Duracion del intervalo n+1 del proceso.
N = Numero de intervalos del proceso ya ejecutandose.
Ti = Duracion del intervalo 'i' del proceso.
• Se puede producir inanicion de procesos.
• La diferencia con el SJF es que el proceso que tiene el control del procesador
puede perderlo por la llegada de un nuevo proceso cuya duracion estimada de
CPU sea menor al tiempo que le resta al proceso que se esta ejecutando.
Ventajas :
.- Obtiene tiempos de retorno muy bajos, menores que con el
algoritmo de 'primero el mas corto'.
Inconvenientes :
W S
Tasa de respuesta ==> R=
S
R : Tasa de respuesta.
W : Tiempo consumido esperando al procesador.
S : Tiempo de servicio.
Ventajas :
.- Favorece a los procesos cortos en un principio, pero a medida
que el sistema evoluciona y los procesos envejecen, va
favoreciendo mas a los largos.
.- No hay inanicion.
Inconveniente:
.- Se favorece a los procesos orientados a CPU frente a los
procesos orientados a E/S.
• En este caso la cola de listos esta formada por dos colas, la cola N0 y la cola
N1. Cuando un proceso se incorpora a la cola de listos, bien porque acaba de
incorporarse al sistema por primera vez o bien porque ha terminado su quanto
pero no su ejecucion, pasa al ultimolugar de la cola N0.
• Por eso se le da prioridad a los procesos que estan en N1, porque ya se han
ejecutado una vez (en teoria) y les queda menos para finalizar, su tiempo de
retorno es menor.
• Si la prioridad es interna, quiere decir que todos los procesos de una misma cola tendran una
prioridad fija y que se utiliza para elegir el proceso que se va a ejecutar a continuacion.
• Si es externa, se usa en algoritmos en los que existen distintas colas de listos relacionadas
entre si : Colas Multinivel.
• Las colas multinivel se utilizan cuando los procesos se pueden clasifica en distintos grupos
(ejemplo: Procesos en primer y en segundo plano).
• Hay diversas colas de listas y en cada una se situan trabajos o procesos con determinadas
propiedades en comun.
Colas no Realimentadas:
– Los procesos pasan a una cola en funicion de criterios internos como podria
ser la prioridad. En ese caso es necesario un algoritmo para gestionar las colas
que decida de que cola vamos a elegir el proceso mas prioritario.
Colas Realimentadas:
7. Evaluacion de algoritmos
Los criterios para evaluar algoritmos se basan en:
7.1.Evaluacion analitica.
a) Model determinista:
b) Metodo de colas
• Memoria Real
0. Introducion
– Reubicacion.
– Proteccion.
– Comparacion.
– Organizacion logica.
– Organización fisica.
1.1Reubicacion.
PCB
Codigo Prog
Datos SO
Pila
• Si usamos unas direcciones fijas absolutas hay que cargar y descargar el proceso
siempre en el mismo sitio. Si usamos una direccion base lo que hacemos son
movimientos según esa direccion,
• De algun modo el hardware del proesador y el software del sistema operativo deben
ser capaces de traducir las referencias en memoria encntradas en el codigo del
programa a direcciones fisicas reales que reflejen la posicion actual del programa en
memoria.
1.2Proteccion
S S
Procesador >= < Memoria
N N
1.3 Comparacion.
• Del mismo modo, si varios procesos tienen que cooperar en una misma tarea, es
logico que deban acceder a la misma estructura de datos.
1.5.Organización Fisica.
{aquí ahora falta el punto 2.1.1 que versa sobre la asignacion estatica asique pasamos directamente a la
asignacion dinamica.}
2.1.2Asignacion Dinamica
2.2Espacio No Contiguo.
2.2.1.Segmentacion.
S : Nº de segmento.
D : Desplazamiento dentro del segmento.
• Para cada uno de los segmentos se guarda una entrada en la tabla de
segmentos que contiene los campos : Numero de segmento , Base y Longitud.
• Para realizar la traduccion de direcciones bidimiensionales [S,D] a
direcciones fisicas o reales, se sigue el siguiente esquema.
NO +
ERROR
Nº Nase longitud
[S,D]
+
NO
ERROR DE DIRECCIONAMIENTO
Ejemplo:
Dir = 10 2 veces = 10 10
Desplazamiento
Pagina.
• Existe un unico registri del procesador utilizado por todos los procesos cada
vez que toman el control de la CPU, denominado RBTP (registro base tabla
de paginas).
• Cada registro tiene dos campos, una clave (numero de pagina) y una direccion
fisica de comienzo del marco.
2.3.Sistemas combinados.
A) Programacion segmentada. P D
ERROR
P D
<= aceso
autorizado D +
S D'
tabla de segmentos
Pagina a la que
quiero acceder Memoria, para acceder al dato.
B) Segmentacion Paginada
ERROR
No
SI
S D <= Memoria
P D' +
• Primer ajuste.
• Mejor Ajuste.
• Peor Ajuste.
Tema 5 : Gestion de memoria virtual
5.1Caracteristicas
• Los sistemas de gestion de memoria estudiados hasta ahora exigian tener cargado todo el programa
en memoria para poder ejecutarlo, aasi, el tamaño de los programas esta fuertemente condicionado
por el tamaño de la memoria.
• Posteriormente se diseñan formas de administracion como la memoria virtual, basadas en la idea de
que para la ejecucion de un proceso no es necesario que la totalidad del codigo este cargado en
memoria, sino que basta con mantener en memoria aquellos fragmentos del proceso que se
necesitan en cada instante determinado. Que es lo que se llama 'conjunto residente'
• Un estudio detallado de la estructura de los programas llevó a la conclusion de que:
– Solamente un subconjunto pequeño de rutinas o modulos era referenciado
habitualmente.
– Otro subconjunto mayor era referenciado pocas veces, con lo cual su permanencia en
memoria durante toda la ejecucion suponia un mal aprovechamiento de este recurso.
– Determinadas rutinas o modulos, como por ejemplo la gestion de errores no llegaban
a ejecutarse nunca.
Ventajas
5.2.1Paginacion
• El bit de presencia puede estar a uno (1) si la pagina esta cargada en memoria o a cero (0) si
no lo esta.
• La direccion del marco es la direccion fisica de comienzo del marco donde esta cargada la
pagina.
• Los bits de control ofrecen informacion estadistica asociada a la pagina (si no se modifica
desde su ultima carga en memoria, el numero de veces que se ha referenciado, etc...)
marco
+
Tabla de paginas
RBTP
b) Asociativa
P D memoria
num. Marco desp
num. Pagina num. Marco
P D memoria
n. Marco desp
TLB
Buffer
Trad. Adelantada Carga pagina
Fallo TLB
Tabla de paginas
5.2.1.2Principio de cercania
Las referencias a los datos del programa dentro de un proceso tiende a agruparse, por lo
tanto durante cortos periododos de tiempo se necesitaran solo unos pocos fragmentos del
proceso.
Ademas seria posible hacer predicciones sobre que fragmentos del proceso se
necesitaran en un futuro cercano.
5.2.2Segmentacion
En la segmentacion, cada proceso tiene su propia tabla de segmentos, cada entrada de dicha
tabla contiene la direccion de comienzo del segmento en memoria principal y su longitud. En
memoria virtual, ademas se tendra un bit para indicar si el segmento esta en memoria principal y
otro bit que indica si el segmento se ha modificado recientemente.
• Cuando una pagina activa haga referencia a una direccion logica cuya pagina asociada no esta
cragada en memoria, se elevara una interrupcion del sistema operativo de fallo de pagina.
b) Paginacion previamente
Como los discos tienen un tiempo de busqueda y una latencia de giro, se cargaran
las paginas secuencialmente en memoria secundaria.
a) FIFO
• Cuando se necesita sustituir una pagina se hace con la que lleve mas
tiempo en memoria.
• Se produce un fallo de pagina cuando se pide una pagina que no esta
cargada en ningun marco.
• Se supone que cuando aumentamos el numero de marcos hemos de
reducir el numero de fallos de pagina en una misma secuencia, hay
veces que eso no ocurre, a ese hecho se le conoce como Anomalia de
Belady.
b) Reemplazo Optimo
Ventajas
Inconvenientes
a) Alcance
I – Local
Cuando un proceso necesita cargar una nueva pagina y no
existe ninguna libre, el sistema selecciona una
pagina del conjunto de paginas activas del proceso.
II – Global
Cuando un proceso necesita cargar una nueva pagina, el
algoritmo de reemplazo puede seleccionar cualquier pagina
activa.
Permisos
Parametros
5.3.4Politicas de vaciado
b) Vaciado Previo
Inconvenientes
5.3.5Control de carga
II. L = S
III . 50%
6.0Introduccion
El sistema de E/S es la parte del sistema operativo encargada de los dispositivos E/S y actua como
interfaz entre los usuarios del sistema y los dispositivos E/S.
6.1.1Asincronismo
6.1.2Diferencia de velocidad
– Los dispositivos de E/S son mucho mas lentos que la CPU. Ademas dentro de los perifericos
el rango de velocidades es muy amplio y variable.
6.1.3Diferencia de formato
6.2Esquema de un controlador
• Se trata de un dispositivo con un componente hardware y software que actua como interfaz entre la
memoria o la cpu y el dispositivo de E/S.
• Esta compuesto por una logica de direcciones que indica de que manera va a manejarse el espacio
de direcciones del controlador.
• El puerto de Entrada / Salida es el area de intercambio de datos y contiene los siguientes registros:
Su funcion principal es guardar un dato hasta que la CPU este preparada para
aceptarlo ya que esta puede estar ocupada cuando el dato esté disponible.
c) Registro de ordenes
Se divide en 2 tipos: registros de designacion de modo que tiene el formato del
dato a transmitir ademas de otra informacion y el registro de operaciones que
contiene las ordenes q gobiernan el mecanismo de transfrencia de la informacion.
d) Registro de estado
6.3.1E/S Programada
Los circuitos del acceso directo a memoria (el DMA) se utiliza para mejorar la velocidad de las
operaciones de E/S y eliminar el papel de la unidad de control en estas rutinas.
El puerto de E/S de un controlador con DMA tiene ademas de los anteriores registros, los dos
siguientes:
Una interrupcion es una señal enviada por un controlador al procesador para indicarle a este que
ejecute una rutina de E/S a su favor.
– Va ordenando las interrupciones en orden tal que la primera que atenderá sera la que tarde
menos en llegar hasta ella desde donde se encuentre (el dato de donde se encuentra al
empezar te lod an y despues de atender una interrupcion, por ejemplo en 40 nos encontramos
en 40).
3. SCAN