Tema 15
Tema 15
3.1.-Administracion de recursos
3.2.-Interfaz o maquina virtual
5.1.-Estrctura monolitica
5.2.-Estructura en capas
5.3.-Micronucleo y cliente-servidor
8.GESTION DE PROCESOS
8.1.-Modelo de procesos
8.2.-Estado del procesos
8.3.-Planificacion de procesos
8.3.1.-Planificacion de admision
8.3.2.-Planificacion intermedia
8.3.3.-Planificacion de bajo nivel
8.4.-Comunicacion y sincronizacion entre procesos
8.5.-Procesos ligeros
9.GESTION DE MEMORIA
11.1.-Interfaz de usuarios
11.1.1.-Nombre
11.1.2.-Estructura
11.1.3.-Tipo
11.1.4.-Acceso a la informacion
11.1.5.-Atributos
11.1.6.-Operaciones
11.1.7.Directorios
11.2.1.-Implantacion de archivos
a) Tamaño del bloque
b) Asignacion y control de espacio de archivo
1.-Almacenamiento contiguo
2.-Mediante lista enlazada
3.Mediante nodos i
c )Control del espacio libre en disco
11.2.2.-Implantacion de directorios
Un sistema operativo es un conjunto de programas de control cuya finalidad es hacer mas facil y
eficiente el uso del ordenador en que se ejecuta
Un sistema operativo es un programa que al menos cunple con los siguientes requisitos
1) Debe ser capaz de mantener varios procesos a la vez en ejecucion
2) Debe ser capaz de asignar los distintos recursos del sistema a dichos `procesos evitando
interbloqueos
3) Debe ser capaz de comunicarlos entre si
El SO no debe ocupar mucha memoria porque seria mas lento y propenso a errores.Debe
programarse de forma modular.
Las funciones basicas de los sistemas operativos pueden resumirse em dos apartados
3.1.-Administracion de recursos
3.2.-Interfaz o maquina virtual
3.1.-Administracion de recursos.
Reparte los recursos disponiles entre todos los procesos y los usuarios-El sistema operativo ve el
ordenador como un conjunto de recursos que debe gestionar .Para ello registra la utilizacion de cada
uno y gestiona las solicitudes que los programas hacen,pudiendo mediar cuando se produzcan
conflictos.
Los componentes son valvulas de vacio y como soporte utilizan tarjetas perforadas.
Como soporte utilizan la cinta magnetica ,surge el proceso por lotes en el que se utiliza un
ordenador satelite de menor coste que el ordenador princial para gestionarr las entradas
desde tarjetas y las salidas para impresora permitiendo que toda la entrada /salida del
ordenador principal se haga sobre cinta magnetica.
Los sitemas operativos de la epoca se denominan monitores y su mision era planificar los
traajos.
Aparecen los primeros circuitos integrados se perfecciona el sistema de trabajo por lotes ,el
desarrollo de sistemas operativos multiprogramacion, el tiempo compartido.
5.1-Estrcutura monolitica
5.2.-Estructura em capas
5.3.-Micronucleo y cliente – servidor
5.1.-Estructura monolitica
El sistema operativo consiste en una colección de procedimientos que puede llamarse entre
si.
Se compilan de forma individual los archivos que contienen los procedimientos y se enlazan
en un unico macroarchivo con el montador de enlace.
5.2.-Estructura en capas
A medida que fueron incluyendose nuevas funciones fue incrementadose el tamaño del
sistema operativo, por ello se hizo necesario una estructrua las organizada y se tendio a
dividir el sistema en varias capas con funciones concretas y posibilidades de comunicación
entre ellos
Se intenta desplazar la mayor cantidad posible de codigo a las capas mas cercanas al nivel
de usuario para mantener el nucelo de tamaño minimo (micronucleo)
Se intentan implantar la mayoria de las funciones del sistema operativo como si fueran
procesos de usuario.
1) Nucleo
2) Gestor de memoria
3) Gestion de I/O
4) Gestion de ficheros
5) Planificacion de alto nivel
6) Modulo de seguridad del sistemas
7) Modulo del lenguaje de controla
1 ) Nucleo
2 ) Gestor de memoria
3 ) Gestor de E/S
Controla los perifericos .Para ellos cada modulo consta de rutina de E/S encargada de
realizar las comprobaciones necesarias y de unos controladores de dispositivos que son los
que conocen las caractericticas fisicas del dispositivo.
4 ) Gestor de ficheros
Decide cual de los trabajos que estan esperando para entrar en ejecucion recibira el tiempo
de cpu.Los trabajos esperan en una cola y el metodo que se sigue para darles turno depende
del sistema operativo pero suelen ser pilas FIFO que se pueden altearar por la prioridad
asignada al programan
Se clasifican en:
Se clasifican en
La multitarea suele ser aparente para que exista concurrencia real de darse el multiproceso.
7.3.-En funcion del numero de procesadores en uso simultaneo
Se clasifica en :
Se clasifican en
a ) En tiempo rela
b) Sistemas interactivos
b) Sistemas interactivos
8.1.-Modelo de procesos
8.2.-Estado del procesos
8.3.-Planificacion de procesos
8.4.-Comunicacion y sincronizacion entre procesos
8.5.-Procesos ligeros
8.1.-Modelo de procesos
Se considera que cada proceso tiene su CPU virtual aunque la verdadera CPU alteran los
procesos.
a) Ejecucion – bloqueado
b) Bloqueado – listo
c) Ejecucion –- listo
d) Listo –- ejecucion
El planificador lleva a cabo las transacciones de 'en ejecucion –- listo ' cuando considera que
el proceso ya ha dispuesto durante suficiente tiempo del procesador.
El cambio de contexto implica salvar los contenidos de los registros de la CPU , los
biestables indicadores, disposicion de la pila correspondiente al proceso interrumpido
La parte del planificador que se ocupa del camio de contexto es el modulo distribuidor
(dispatcher).Cuando el planificador vuelve a dar turno al proceso interrumpido debe
producirse otra conmutacion de conexto
8.3.-Planificacion de procesos
1.-Planificacion de admision
2.-Planificacion intermedia
3.-Planificacion de bajo nivel
1.-Planificacion de admision
Determina que trabajos deben admitirse en el sistema .Una vez admitios los trabajps se
convierten en procesos que compiten por los recursos del sistemas
2.-Planificacion intermedia
Determina a que procesos en estad listo se le va a asignar la CPU .Esta planificacion corre a
cargo del planificador .los criterios para decidir la bondad de un algoritomo de planificacion
son:
- Equidad - Tiempo de proceso global
- Eficiencia - Rendimiento
- Tiempo de respuesta
Para asegurar que ningun proceso monopilice el procesador durante mucho tiempo casi
todos los computadres tiene un reloj del sistema que produce interrupciones periodicas .
En los sistemas operativos con planificacion expulsiva con cada interrupcion del reloj o para
un multiplo entero del tiempo de interrupcion de reloj el sistema recupera el control.
Algoritmos de planificacion
Los procesos entran en la CPU siguiendo un esque,a FIFO pero con una cantidad de tiempo
de CPU limitada denominado quantum
Si el quantum es muy corto se alternan los procdsos con demasiada frecuencia lo que
produce un gran consumo de CPU dedicados a cambios de contexo
cada proceso tiene un nivel de prioridad asignado y el proceso listo con la maxima prioridad
obtiene la CPU
2.-Los mecanismos de sincronizacion entre procesos.Los hay que trabajan con exclusion
mutua y otros no.Ejemplos son:Los semaforos, los contadores de eventos, los monitores y
el intercambio de mensajes .
8.5.-Procesos ligeros
En los sistemas operativos cada proceso tiene un espacio de direccioes y un unico hilo de
control.
En los sistemas operativos multitarea modernos es posible tener muchos hilos de control
dentro de un mismo proceso.
Los hilos o subprocesos son subprogramas . Cada hilo se ejecuta secuencialmente y tiene su
propio contador de programa y una pila, peor comparten el resto de recursos accesibles por
el proceso.
9.GESTION DE MEMORIA
-Aquellas que mueven los procesos entre la memoria central y el disco durante la ejecucion
(itercamio y paginacion)
-Aquellos que no lo hacen.
9.1.1.-Monoprogramacion e intercambio
9.1.2.-Memoria virtual.
9.1.1.-Monoprogramacion e intercambio
Con el procesamiento en tiempo copartido normalmente hay mas usuarios que memoria
para contener todos los procesos, por ello deben guardarse los procesos sobrantes en disco ,
pero para ejecutarlos deben traerse a memoria central.
Los sistemas de intercambio mas usados trabajan con particiones dinamicas :el numero,
ubicación y tamaño de las particiones varian en forma dinamica con el tiempo.
9.1.2.-Memoria virtual.
Se guardan aquellas partes del programa que se encontraan en uso corriente en la memoria
central y el resto en el disco.Asi es posible ejecutar programas mas grandes.
Se asa en la separacion de las direcciones a que hacen referencia los procesos de las
direcciones efectivamente disponibles .Las primeras se denominan virtuales y las otras
reales.
Cuando todos los bloques son iguales se llaman paginas y la organización del
alamacenamiento virutakl se llama paginacion.cuando los bloqeus son de diferentes tamaños
se llaman segmentos.
Los sistemas actuales combinan ambas tecnicas :segmentos de tamaño variable compuestos
de paginas de tamaño fijo
Cuando la CPU invoca una direccion virutal correspondiente a una pagina que no esta en
memoria la CPU emite una señan denominada fallo de pagina y bloquea al proceso.
El sistema operativo tomara de momoria principal una pagina con poco uso , la volcara en
disco si ha sido modificada cargara en su lugar la pagina correspondiete a la direccion
virtual.
Casi todas las unidades de I/O presentan aspectos electronicos , mecanicos y logicos.La
parte que alberga mayor cantidad de componentes electronicos se llama adaptadora.
El interbloqueo del sistema operativo suele ser el adaptador .La comunicación entre el
sistema operativo y el adaptador se realiza gracias al manejador o driver.
El software se organiza en niveles o capas .Los objetivos que se persigue con esto son:
11.1.-Interfaz de usuarios
11.1.1.-Nombre
11.1.2.-Estructura
11.1.3.-Tipo
11.1.4.-Acceso a la informacion
11.1.5.-Atributos
11.1.6.-Operaciones
11.1.7.Directorios
11.2.1.-Implantacion de archivos
a) Tamaño del bloque
b) Asignacion y control de espacio de archivo
c )Control del espacio libre en disco
11.2.2.-Implantacion de directorios
Los sistemas operativos permiten definir ojetos nominados llamados archivos.Los sistemas
operativos proporcionan operaciones especiales (llamadas al sistema) para crearlos ,
destruirlos ,llerlos , escribirlos ,..
Cada vez que el sistema operativo accede al dispositivo transporta una cantidad fija de
inforamcion llamada bloque o registro fisico.
i ) Interfaz de usuario
ii )Implantacopn del sistema de archivos y directorios
iii )Mecanismos de fiabilidad , seguridad y proteccion.
11.1.-Interfaz de usuarios
11.1.1.-Nombre
11.1.2.-Estructura
11.1.3.-Tipo
11.1.4.-Acceso a la informacion
11.1.5.-Atributos
11.1.6.-Operaciones
11.1.7.Directorios
11.1.1.-Nombre:
Cada sistema operativos tiene sus propias reglas .Muchos dividen el nombre en dos
partes :La ultima se llama extension
1.1.2.-Estructura
11.1.3.-Tipo
Hay muchos tipos de archivos , por ejemplo UNIX tiene archivos regulares , directorios y
archivos especiales .
11.1.4.-Acceso a la informacion
En UNIX y NETWARE existe una estructura de directorio que engloba a todos los
dispositicos de almacenamiento lo que permite que cualquier archivo sea accedido por su
nombre de ruta sin importar en que dispositivo esta
En WIN y DOS el usuario debe indicar explicitamente en que dispositivo esta el archivo.
1.1.5.-Atributos
11.1.6.-Operaciones
11.1.7.Directorios
Se emplean para llevar el control de los archivos.Suele contener una entrada por archivoen
la que hay informacion sobre el nombre del archivo, su tipo, tamaño, propietaio,..
La estructura mas simple consiste en que el sistema tenga un solo directorio para cada
usuario.
Una mejora consiste en tener un directorio para cada usuario para que los usuarios puedan
agrupar sus archivos de forma logica, se necesita un arbol de directorio.
Cuadno el sistema de archivo se organiza como un arbol de directorios hace falta alguna
manera de especificar nombres de archivos.Hay dos metodos.
11.2.1.-Implantacion de archivos
Una unidada de asignacion pequeña imlicaria que cada archivo consta de muchos bloques lo
que hara su lectura mas lenta al no estar posiblemente ubicados en forma contigua la cabez
debera dar varios saltos sobre la superficie del disco.Estos saltos consumen tiempo de
latencia y localizacion.
1.-Almacenamiento contiguo
2.-Mediante lista enlazada
3.Mediante nodos i
2.-Mediante nodos i –-> En asociacion con cada archivo en UNIX hay una tala en disco
llamada nodo i
1.-Uso de una lista enlazada de bloques de disco donde cada bloque contenga tantos
numeros de bloqes de disco libre como le quepan
2.-,Mapa de bits .Un disco de 'n' bloques requiere un mapa de 'n bis,los bloques libres se
representan por y los ocupados por cero o viceversa.
Si existe suficiente memoria central para contener el mapa de bits este metodo suele ser
preferido, pero solo si se puede reservar un bloque para llevar el control de los bloques
libres y el dsco esta casi lleno, la lista enlazada es el metodo mas adecuado.
11.2.2.-Implantacion de directorios
Cuando un archivo se arbre el sistema operatico utiliza el nombre de ruta proporcionado por
el ususario para localizar priemro la entrada en el directorio correspondiente y de aquí los
bloques correspondientes en el volumen del almacenamiento.
El primer numero de bloque puede emplearse como indice en la FAT para hallar el 2º ,...
NTFS usa arquitectura de archivos que implementan conceptos de las BASES DE DATOS
RELACIONALES.
Son capaces de procesar una gran cantidad de trabajo sin la participacion del usuario.Para
ello se prepara primero el programa junto a las ordenes y los datos y se introducen en el
ordenador formando un lote.
Estos sistemas son capaces de procesar rafagas de miles de interrupciones por segundo sin
perder un solo sucedos y lanzar procesos a ejecucion a traves de estas interrupciones .
Los trabajos se organizan según su prioridad .Se utiliza una planificacion de tipo
expropiativo basada en prioridades . Se utiliza una planificacion de tipo exporpiativo basado
en prioridades
La gestion de la memoria es un poco mas complejs que la de 'Por Lotes' pero menos que la
dem tiempo compartido ya que los procesos suelen permanecer residentes en memoria con
lo que no se requieren grnades movimientos de programas de alamacenamiento a memoria.
Los campos de aplicación son aquellos donde se requiere mucha velocidad de respuesta
(control de trafico, aereo, control industrial,...)
Los sistemas multitarea suelen ser tambien multiusuarios ( en los PC estas dos condiciones
no van siempre unidas), lo que implica el aumento de las tareas de proteccion y seguridad.
Son sistemas multiusuario y multitarea capaces d simular que el sistema esta dedicado en
exclusividad a cada uno de sus usuarios y dan la sensacion de que cada usuario tiene una
maquina para el solo
Esto se consigue utilizando un algoritmo de reparto circular donde los programas se van
ejecuntado de forma rotatoria evitando la monopolizacion del sistema.
El sistema operativo reparte el tiempo de CPU en trozos muy pequeños (time slots) que
asignan a cada usuario
En cualquiera de los casos el usuario no tiene porque saber en que procesador esta
ejecutandose el programadores
Se utilizan en el caso de querer conectar dos o mas ordenadres a traves de algun medio de
comunicación
A diferencia de los sistemas distribuidos el usuario siemre sabe donde se esta ejecutando su
programa y donde estan almacenado sus datos