jueves, 27 de mayo de 2010

¡¡¡ CHMAQUINA FINAL !!!

Por causas de mala implementacion del grupo el chmaquina-20101 solo corre hasta un 10% de la segunda fase solicitada.....

ChMaquina - 20101

diagrama que explica el ChMaquina logicamente



Diseño:

- Daniel Osorio Lopez (firehead)

jueves, 20 de mayo de 2010

¡¡¡ CLASE 20-05-2010 !!!

TEMA UNO: TENDENCIAS EN SISTEMAS OPERATIVOS

- las principales abstracciones de hoy dia: procesos, hilos, sockets, y archivos no manejan los problemas de administracion de la localidad, disponibilidad y tolerancia a fallos. los sistemas operativos distribuidos pueden resolver estos problemas.
- cualquier fragmento de codigo debe poder correren cualquier parte
- el sistema debe manejar localidad, replicacion y migracion de datos y operaciones
- los sistemas operativos del futuro deben estar listos para internet, comercio electronico, intranets/extranets, operaciones basadas en internet, servidores de correo electronico, web, servicios web, etc.

(escritorio online)

la irrelevancia de la tecnologia es el auge del mercado tecnologico en el mundo desde los 90's

- el sistema debe ser:
* autoconfigurable
* autojustable
* automonitoreable
* escalable (a nivel mundial)
* confiable
* seguro
* robusto
* escalable
* tolerante a fallos
* persistente
* preparado para la red (webos, webfs)
* favorable a la mobilidad
* extensible
* orientado a objetos
* orientado a GUI



(mapa de los diferentes sistemas operativos en el mercado y durante el tiempo)


* mayores longitudes de palabras (64, 128 bits)
* ambiente multitier
* reconocimiento automatico de componentes
* autodiagnostico
* risc
* multiples ambientes operativos
* multiples idiomas
* kernel paginable
* interoperatividad
* procesamiento paralelo (simetrico)
* dispositivo optico multiescritura
* gestion de comunicaciones y bases de datos en kernel
* configuracion en caliente (dinamica)
* registro y seguimiento de operaciones (auditoria), log, journal.


* abstraccion agresiva (independencia completa delsistema)
* irrelevancia en el almacenamiento (no jerarquica)
* irrelevancia de ubicacion
* vinculacion justo a tiempo (evitar vinculaciones que afecten la distribucion y tolerancia a fallos)
* introspeccion (monitorearse asi mismo, reflexion, autoexamen)
* gran semantica de maquina virtual
* arquitectura descentralizada: mejora relacion precio beneficio pc-redes
* estandares


TEMA DOS: SISTEMAS OPERATIVOS MUTIPROCESADORES

los computadores paralelos son aquellos sistemas que favorecen el procesamiento paralelo

- clasificacion flynn arquitecturas de multiprocesadores -

* SISD: simple flujo de instrucciones-simple flujo de datos. un solo procesador ejecuta una unica instruccion que opera sobre datos almacenados en una sola memoria. computadores serie IBM 370, DEC VAX, Macinstosh, PC, etc.

* SIMD: simple flujo de instrucciones-multiple flujo de datos. cada instruccion se ejecuta en un conjunto de datos diferente a travez de los diferentes procesadores. procesadores matriciales. una unidad de control que orquesta varios procesadores que operan sobre varios bloques de datos. Illiac IV, Conection machine

* MISD: multiple flujo de instrucciones-multiple flujo de datos. NO SE USA

* MIMD: multiple flujo de instrucciones-multiple flujo de datos.
un conjunto de procesadores ejecuta simultaneamente diferentes secuencias de instrucciones en diferentes conjuntos de datos. Cray X/Mp, Cedar, Butterfly.

martes, 18 de mayo de 2010

¡¡¡ CLASE 18-05-2010 !!!

TEMA UNO: ASIGNACION DE ESPACIO PARA ARCHIVOS

- contigua, enlazada, indexada
- cada archivo ocupa un conjunto de bloques en tiempo de creacion
- se asigna un unico conjunto contiguo de bloques en tiempo de creacion
- simple-solo se requiere la ubicacion inicial y la longitud
- existira fragmentacion externa
- desperdicio de espacio
- los archivos no pueden crecer




TEMA DOS: ASIGNACION ENLAZADA/ENCADENADA

-cada archivo es una lista enlazada de bloques de disco: los bloques pueden estar dispersos en cualquier parte del disco
- en lo que respecta la administracion de espacio libre, no hay desperdicio de espacio
- no hay acceso aleatorio
- no hay fragmentacion esterna
- se adapta mejor a archivos secuenciales




TEMA TRES: ASIGNACION INDEXADA

- tiene los punteros juntos en el bloque de indices
- vista logica

(imagen)


TEMA CUATRO: UBICACION INDEXADA

- requiere de tabla indice
- acceso aleatorio
- acceso dinamico sin fragmentacion externa, pero hay sobre costo en el bloque indice
- que tan grande debe ser el bloque indice
* lo suficiente para contener los distintos indices:
** esquema enlazado.
** indice multinivel.
** esquema combinado.




TEMA CINCO: ADMINISTRACION DEL ESPACIO LIBRE


TEMA SEIS: RESPALDO Y RECUPERACION

- chequeo de consistencia - compara los datos en al estructura del directorio con los bloques de daatos en disco, y trata de arreglar inconsistencias
- uso de programas del sistema para sacar backup de los datos de disco a otro dispositivo de almacenamiento
- recuperacion de archivos perdidos o disco al recuperar datos desde el backup
- respaldo total vs respaldo incremental

Esquema abuelo - padre - hijo
- D1...D4
- S1....S3
- M1...M5
- S1
- A1...

OTROS ESQUEMAS DE RESPALDO DE RECUPERACION
- proteccion a nivel de disco multiples copias de FAT; arreglo en caliente para deteccion y correcion de bloques malos
- duplexion
- disco espejo
- sistema RAID redundandant array of inexpensive/independient disks: conjunto de drives que aparecen como uno solo. el nivel de redundancia depende del nivel RAID:

* RAID O: los datos se copian sin redundancia, no hau nivel de seguridad
* RAID 1: discos en espejo, los datos se copian en discos iguales pero se usa uno solo mientras el otro esta de respaldo
* RAID 2: redundancia por codigo hamming, que permite extrapolar unos bits que no estan y generarlos en otros discos
* RAID 3: bit de paridad intercalado, trabaj con un bit de paridad e igual trbaja con un disco de paridad
* RAID 4: paridad a nivel de bloque, similar al 3 pero a nivel de bloques mejornado el rendimiento
* RAID 5: paridad distribuida a nivel de bloques, todo va cruzado y se respalda la paridad de todos los discos, significando todos los discos siendo respaldo de los demas discos
* RAID 6: redundancia dual, siendo en dos discos mas del metodo 5
*RAID de nivel superior: combinando siempre los niveles con el nivel 0, ejemplo: raid 3 con raid 0= raid 30

TEMA SIETE: SISTEMA DE ARCHIVOS DE ALGUNOS SOS

(por documentar)

martes, 11 de mayo de 2010

CLASE 11-05-2010

TEMA UNO: PLANIFICACION DE DISCO

- el sistema operativo es responsable por el uso eficiente del hw- para los discos duros, esto significa tener un tienpo de acceso mas rapido y un mayor de banda ancha para el disco

- el tiempo de acceso teine dos componentes principales:
* el tiempo de busqueda es el tiempo en el que el disco dee mover las cabezas hasta el cilindro que contiene el sector deseado
* latencia rotacional es el tiempo adicional de espera que el disco rote sus cabezas hasta el sector deseado.

- minimizado el tiempo de busqueda

- el anco de banda del disco es el numero total de bytes transferidos, divido porel tiempo total entre la primera solicitud del servicio y el completado de la transferencia.

(ejemplo de FCFS)



(ejemplo de SSTF)



(ejemplo de SCAN)



(ejemplo de SCAN-N)

(ejemplo de C-SCAN)



(ejemplo de C-LOOK)




TEMA DOS: SELECCION DE ALGORITMOS DE PLANIFICACION DE DISCO


TEMA TRES: ELEMENTOS DE LA ADMINISTRACION DE ARCHIVOS


el como se organiza el archivo --> metodo de organizacion
el como accedo dentro del archivo --> metodo de acceso


TEMA CUATRO: ARQUITECTURA SOFTWARE DE UN SISTEMA DE ARCHIVOS

- organizacion: archivo apilado, pila secuencial, secuencial indexado, directo/aleatorio, particionado


- metodo de acceso: pila, secuencial, secuencial indexado, directorio/aleatorio


TEMA CINCO: ATRIBUTOS DE LOS ARCHIVOS

- nombre simbolico: informacion en forma leible por los humanos
- tipo: diferencia los archivos dentro de un sistema
- ubicaicon: señalador de ubicacion del archivo en un dispositivo
- tamaño
- proteccion: controla quien puede leer, escribir o ejecutar
- hora, fecha e identificacion de usuario: datos para proteccion, seguridad y monitoreo de uso
- organizacion
- tipo (archivo de datos, programacion objeto, cola, etc)
- tratamiento (temporal o permanente)
- conteo de actividad
- la informacion acerca de los arhivos se guarda en la estructura del directorio que se guarda en disco

TEMA SEIS: ESTRUCTURA DE DIRECTORIO

- directorio de nivel simple:
* un solo directorio para todos los usuarios
* probelma de denominacion
* problemas de agrupamiento

- directorio de dos niveles:
* separa los di

-directorio estrucura en arbol:
* busqueda eficiente
* capacidad de agrupamiento
* directorio actual (directorio de trabajo)
* trayectoria absoluta o relativa
* la creacion de un nuevo archivo se hace en el directorio actual
* borrado de archivos: rm
* la creacion de un nuevo subdirectorio se hace sobre el directorio actual mkdir

- directorio en grafos aciclico:
*tiene subdirectorios y archivos compartidos
* este concepto no existe en windows
* dos nombres (alias)

- directorio de grafo general:
* como podemos evitar los ciclos.
* permita solo enlaces a los archivos no a los directorios

martes, 27 de abril de 2010

CLASE 27-04-2010

TEMA UNO: ADMINISTRACION DE MEMORIA

* requerimientos de memroia MS windows:
(imagen)

*vinculacion de las instrucciones y lso datos a la memoria:

-tiempode compilacion:
se se conoce previamente la ubicacion de memoria, puede generar codigo absoluto, el codigo debe ser recompilado si la direccion de inicio cambia

- tiempo de carga:
si se conocen las direcciones en tiempo de compilacion, debe generarse codigo reubicable

- tiempo de ejecucion:
la vinculacion se retarda hasta el tiempo de corrida si los procesos puedes ser movidos durante su ejecucion de una posiscion de memoria a otra.



* overlay (superposisciones):

-mantiene en memoria solo aquellas instrucciones y datos que se requieren en un momento determiando
-se utilizaba cuando el proceso era mayor que la cantidad de memoria destinada para el
-se implementaba por el usuario, no se requeria un soporte especial del sistema operativo, su p´rogramacion era compleja


*asignacion contigua: (no hubo tiempo de copiar)

-asignacion con multiples particiones: (no hubo tiempo de copiar)


*asignacion con multiples particiones fijas:
particiones configuradas por usuario, predeterminadas, se uso en OS/360/MFT
recolocacion: ael enlazador debe determinar que direcciones recolocarse vs. carga absoluta por partes
proteccion: bloques de 2k con clave o registro base y limite fragmentacion.




* asignacion de memoria con particiones fija:
(imagen)

* asignacion particiones variables:



- asignacion dinamica de las particiones
- compresion
- fragmentacion: huecos despues de ejecucion
- condensacion: fusion de 2 huecos contiguos

* particion variable:

(imagen)

* compresion/compactacion de memoria:



* problemas de la asignacion dinamica de memoria:

- mejor ajuste:
hueco que mejor quepa y menos desperdicio
- primer ajuste:
el primer hueco que le sirva
- peor ajuste:
hueco mas grande
- siguiente ajuste
- estrategia mas sofisticada :
sistemas buddy: - lista de huecos con tamaño potencias de 2

el primer ajuste y el mejro ajuste son mejores que el peor ajuste en terminos de velocidad y utilizacion.

*primer ajuste:
(imagen)

*sistema buddy:
(imagen)

*almacenamiento virtual:
- capacidad de obtener acceso a direcciones en un espacio de almacenamiento mucho mayor que el disponible en el almacenamiento primario del sistema
- SO altas, manchester 19860
- disociacion de las direcciones a las que hace referncia en procesos en ejecucion de las direcciones disponibles en el almacenamiento primario
(no hubo tiempo de copiar)

* intercambio/swap:

- un proceso puede intercambiarse temporalmente de memoria a un almacenamiento de respaldo y luego puede ser hacia la memoria para continuar su ejecucion.
- el almacenamiento de respaldo se hace en el disco, que debe ser rapido y tener....
(no hubo tiempo de copiar)


*vista esquematica del intercambio:
(imagen)

*fundamento de la memoria virtual:

- el procesador utiliza y genera direcciones virutlaes
- parte del mapa de memoria esta en disco y parte en memoria principal
- la MMU
- la MMU produce un fallo de pagina cuando la direccion no esta en la memoria principal
- el SO produce un fallo de pagina,haciendo un transvase entre la memoria principal y el area de intercambio

(imagen MMU)

*almacenamiento vitual:
(imagen)

* distribucion de almacenamiento por procesos:
(imagen)

* paginacion:
- el espacio de direcciones logicas de un procesos no necesariamente es contiguo
- se divide la memoria fisica en bloques de tamaño fijo llamados marcos
- se divide la memoria logica en bloques del mismo tamaño llamados paginas
- se mantiene el rastro de todos los marcos
- para correr un programa de tamaño n paginas, se requeire encontrar n marcos libres y cargar el programa
- se debe poner a punto una tabla para traducir las direcciones fisicas a las logicas
- se puede presentar fragmentacion interna

* division de paginas de los espacios de memoria
(imagen)

jueves, 22 de abril de 2010

¡¡¡ CLASE 22-04-2010 !!!

TEMA UNO: PRIORIDADES

- planificacion multiplesprocesadores-

* la planificacion es mas compleja cuando se tienen varios procesadores
* escenarios: asignacion de procesos a procesadores, uso de la multiprogramacion en cada procesador individual, activacion del proceso, propiamente dicho
* la carga se comparte (una cola por procesador)
* multiprocesamiento simetrico (smp) cada procesador tiene sus propias decisiones

-ASIGNACION DE PROCESOS A PROCESADORES-

* cada procesador tiene una lista de procesos a atender
* un proceso se vincula premanentemente a un procesador
- estrategia de planificacion de grupo o pandilla
- dedica una cola a corto plazo por cada procesador
- menos sobrecarga
- el procesador puede estar ocioso mientras otro procesador tiene trabajo acumulado

* cola global
- procesos planificados sobre cualquier procesador disponible

* arquitectura maestro/esclavo
- las funciones clave del nucleo ejecutan siempre en un procesador concreto
- el maestro es responsable de la planficiacion de trabajos
- el esclavo envia una solicitud al maestro
- desventajas

* arquitectura camarada
- el nucleo puede ejecutarse en cualquier procesador
- cada procesador se auto-planifica
- complica el sistema operativo

-ESCENARIOS DE PLANIFICACION DE PROCESOS DE TIEMPO REAL-

estatica: es aquella que desde el momento en el que el proceso arranca se tiene construida una tempoirzacion de de manejo de ese proceso.
- estatica dirigida por tabla: detemrina en tiempo de ejecucion cuando debe comenzar a ejecutarse cada tarea
- estatica con expropiacion dirigida por prioridad: se utiliza un planificador expropiativo tradicional en prioridades.

dinamica: ajusta la prioridad en respuesta a condiciones cambiantes, ademas se debe asegurar que ella no genere incumplimiento en lso tiempos.
- dinamica basada en un plan: la facibilidad se determina en tiempo de ejecucion
- dinamica basada en el mejor esfuerzo: no se realiza analisis de factibilidad. el sistema trata de cumplir con todos los plazos y abandona cualquier proceso ya iniciado y cuyo plazo no se haya cumplido.


-PLANIFICACION POR PLAZOS-

las aplicaciones de tiempo reeal no se preocupan tanto de la velocidad de ejecucion como de completar sus tareas.
- se utiliza cuando los resultados serian inutiles si no se realiza el proceso a tiempo
- dificil de implementar

informacion utilizada: tiempo de activacion, plazo de inicio, plazo de conclusion, timepo de procesos, recursos requeridos, prioridad, estructura de subtareas.

las prioridades en general se basan en los tiempos limites de los procesos
- el tiempo limite mas temprano primero
- minima laxitud primero

jueves, 15 de abril de 2010

¡¡¡ CLASE 15-04-2010 !!!

TEMA UNO: OBJETIVO HILO DE WINDOWS

-Tipo de objeto
ID hilo
contexto del hilo
prioridad base
afinidad de procesador de hilo
tiempo de ejecucion del hilo
estado
(por temrinar)


TEMA DOS: ESTADOS DE UN HILO DE WINDOWS

(imagen)

TEMA TRES: MODELO DE PROCESOS/HILOS LINUX

(imagen)

TEMA CUATRO: ESTADO DE HILOS EN SOLARIS

(imagen)

TEMA CINCO: PLANEACION DE LA CPU

es aquella parte del sistema que se encarga de como funciona el procesador.
- conceptos basicos
- criterios de planificacion
- algoritmos de planificacion
- planificacion multiple-procesadores
- planificacion en tiempo real
- evaluacion de algoritmos

SUBTEMA CINCO: CONCEPTOS BASICOS

- la maxima utilizacion de la cpu se obtiene con multiprogramacion
- el ciclo de rafagas de cpu-e/s- el proceso de ejecucion consiste en un ciclo de ejecucion de cpu y un ciclo

SUBTEMA CINCO: PLANIFICADOR DE CPU

- selecciona de los procesos en memoria aquellos que estan listos para ejecutar, y le entrega la cpu a uno de ellos
- las decisiones de planificacion de cpu tiene lugar cuando un proceso:
1 conmuta de un estado de corrida a un estado de espera
2 conmuta de un estado de corrida a un estado de listo
3 conmuta de esperando a listo
4 temrina

- la planificacion en 1 y 4 no es expropiativa, en los otros casos es expropiativa

SUBTEMA CINCO: DESPACHADOR

-el modulo despachador le da el control de la cpu (por terminar)

SUBTEMA CINCO: LATENCIA EN EL DESPACHO

(imagen)

es el tiempo que se toma el despachador para parar un proceso e inicar otro


SUBTEMA CINCO: CRITERIOS DE PLANIFICAICON

- utilizacion de cpu
- rendimiento
- tiempo de entrega/retorno
- tiempo de espera
- tiempo de respuesta
- previsibilidad
- ningun proceso se muere por inanicion, todo proceso debe progresar.


SUBTEMA CINCO: CRITERIOS DE OPTIMIZACION

- maxima utilizacion de cpu
- maximo rendimiento
- minimizae el teimpo de entrega
- minimizar el tiempo de espera
- minimizar el teimpo de respuesta
- justicia

TEMA SEIS: ALGORITMO DE PLANIFICACION

son aquellas reglas por las cuales se selecciona el siguiente a atender por el procesador.

- FCFS/PEPS: cortos, justas
- SJF/SPN: el siguiente proceso el mas corto
- SRTN: menor teimporestante,compensa cortos
- ROUND ROBIN: asignacion ciclica/turno, equilibra usando una cola circular con FCFS con prioridad
- por piroridad: siempre se elige el de mayor prioridad
- HRN: tasad e respuesta mas alto, es costosa prioridad
- MLQ, colas multiples: combinar, procesos del sistema
- MLQ, con retroalimentacion: los procesos se pueden reubicar en diferentes colas
- FSS

TEMA SIETE: PLANIFICACION FCFS

(imagen de tiempo)

TEMA OCHO: PLANIFICACION EL TEIMPO MAS CORTO PRIMERO -SJF-

-asocia con cada proceso la longitud de su proxima rafaga de cpu. usa estas longitudes para planificar el proceso con el menor tiempo

- hay dos esquemas:

(por terminar)

*el diagrama de SJF/SPN no expropiado*

*el diagrama de SJF expropiativo -SRTN-*


TEMA NUEVE: PLANIFICACION POR PRIORIDAD

- se asocia un numero a cada proceso
- la cpu es asignada al proceso con mayor prioridad
* expropiativo
* no expropiativo
- SJF es un esquema de planificacion por prioridad, donde la prioridad es el tiempo de rafaga de cpu que se calcula
- problema = la inanicion - los procesos de baja prioridad puede que nunca se ejecuten
- solucion= envejecimietno

TEMA DIEZ: TURNO CIRCULAR (RR)

- CAD PROCESO TOMA UNA PEQUEÑA UNIDAD DE TIEMPO DE CPU POR LO GENERAL DE 10-100 MS. DESPUES DE TRANSCURRIDO ESTE LAPSO DE TIEMPO, EL PROCESO ES EXPROPIATIVO Y UBICADO EN LA COLA DE LISTOS
- si hay n procesos en la cola de listos y el quantum es q, entonces cada proceso toma 1/n de tiempo de cpu en bloques de alo mas q unidades de tiempo a la vez. ningun proceso espera mas que (n-1) q unidades


TEMA ONCE: FAIR SHARE SCHEDULING-PORCION JUSTA

divide la capacidad de recursos del sistema en porciones, que son .... (buscar y temrinar)


TEMA DOCE: PLANIFICAICON COLAS MULTINIVEL

(buscar grafico)

* ejemplos de colas multinivel con retroalimentacion