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

jueves, 8 de abril de 2010

¡¡¡ CLASE: 08-04-2010 !!!

TEMA UNO: LA CPU CAMBIA DE PROCESO A PROCESO

-Cuando la cpu cambia a otro proceso, el sistema debe guardar el estado del proceso anterior y cargar el estado guardado del nuevo proceso
- la conmutacion de contexto es trabajar extra, el sistema realiza trabajo util mientras conmuta, depende en gran medida del apoyo del hardware
- cuando un proceso esta ejecuntadose su estado reside en los registros del computador

TEMA DOS: PLANIFICADORES

- el planificador de corto plazo de cpu selecciona que proceso debe ser ejecutado enseguida y se le asigna la cpu. bajo nivel, despachador es solicitado muy frecuentemente.
- planificador del mediano plazo: intermedio
- el planificador de largo plazo: selecciona que proceso debe ser traido a la cola de listos, es solicitado con poca frecuencia.
- el planificador de largo plazo controla el grado de mutiprogramacion
- los procesos pueden ser descritos como:
* procesos limitados por E/S - consumen mas tiempo realizadno operaciones de E/S que calculo, causan mucas rafagas cortas de la cpu
* procesos limitados por cpu - consumen mas tiempo realizando calculos; emplean refagas fuertes a la cpu

Representacion de la planificacion de procesos:



Representacion de la planificacion de procesos a mediano plazo:



TEMA TRES: CREACION DE PROCESOS

- los procesos padres crean procesos hijos, los cuales, a su vez crean otros procesos, conformando un arbol de procesos
- recursos compartidos:
* los procesos padres e hijos comparten los recursos
* los hios comparten un subconjunto de los recursos del padre
* el padre y el hijo no comparten recursos
- ejecucion:
* el padre y el hijo se ejecutan concurrentemente
* el padre espera a que termine el hijo
- espacio de direcciones:
* el hijo duplica el del padre.

TEMA CUATRO: JERARQUI DE PROCESOS

-grupos de procesos dependientes de cada shell
- familia de procesos
* hijo
* padre
* hermano
* abuelo
- vida de un procesos
* crea
* ejecuta
* muere o termina
- ejecucion del proceso
* batch
* interactivo
- grupo de procesos



TEMA CINCO: ARBOL DE PROCESOS DE UN SISTEMA UNIX TIPICO Y SOLARIS

-solaris-


-unix-


TEMA SEIS: PROCESOS COOPERATIVOS

PROVLEMA DE PRODUCTORES Y CONSUMIDORES

- el problema de productores y consumidores es un paradigma de los procesos cooperativos, los productores producen informacion que es consumida por los procesos consumidores
* buffer ilimitado no estavlece un limite practico para el tamaño del buffer


* buffer limitado asume que hay un tamaño fijo de buffer

(imagen)


TEMA SIETE: HILOS

- beneficios
- hilos de ussuarios
- modelos mutihilos
es la capacidad de un so para soportar multiples trayectorias concurrentes de ejecucion dentro de un mismo proceso

- hilos solaris 2
- hilos java
* ms-dos usa un solo hilo por procesos
* unix V soporta mutiples procesos por usuario pero solo soporta un hilo por proceso
* windows nt, 2000, xp, mach, Os2, solaris, linux



TEMA OCHO: HILOS

- en una tarea multihilo, mientras un hilo servidor esta bloqueado y esperando, un segundo hilo en la misma tarea puede estar corriendo
* la cooperacion de multiples hilos en el mismotrabajo le proporciona un alto rendimiento y mejora la eficiencia.
* las aplicaciones que requieren compartir un buffer comun
-los hilos proporcionan un mecanismo que permite a los procesos secuenciales hacer llamadas al sistema bloqueadoras y al mismo tiempo lograr paralelismo
- el nucleo puede apoyar los hilos como en mach y os/2
- los hilos a nivel de usuario; soportando arriba por el kernel, a traves de una serie de llamadas de bibliotecas en el nivel de usuario (como en el proyecto cmu de andrew)
- un enfoque hibrido implementa tanto los hilos a nivel de usuario como hilos apoyados pore l kernel (solaris 2)

(mayor informacion sobre hilos de ejecucion)

TEMA NUEVE: RELACION ENTRE HILOS Y PROCESOS

Si bien los hilos son generados a partir de la creación de un proceso, podemos decir que un proceso es un hilo de ejecución, conocido como Monohilo. Pero las ventajas de los hilos se dan cuando hablamos de Multihilos, que es cuando un proceso tiene múltiples hilos de ejecución los cuales realizan actividades distintas, que pueden o no ser cooperativas entre sí. Los beneficios de los hilos se derivan de las implicaciones de rendimiento.

1. Se tarda mucho menos tiempo en crear un hilo nuevo en un proceso existente que en crear un proceso. Algunas investigaciones llevan al resultado que esto es así en un factor de 10.
2. Se tarda mucho menos en terminar un hilo que un proceso, ya que cuando se elimina un proceso se debe eliminar el BCP del mismo, mientras que un hilo se elimina su contexto y pila.
3. Se tarda mucho menos tiempo en cambiar entre dos hilos de un mismo proceso
4. Los hilos aumentan la eficiencia de la comunicación entre programas en ejecución. En la mayoría de los sistemas en la comunicación entre procesos debe intervenir el núcleo para ofrecer protección de los recursos y realizar la comunicación misma. En cambio, entre hilos pueden comunicarse entre sí sin la invocación al núcleo. Por lo tanto, si hay una aplicación que debe implementarse como un conjunto de unidades de ejecución relacionadas, es más eficiente hacerlo con una colección de hilos que con una colección de procesos separados.

martes, 6 de abril de 2010

¡¡¡ CLASE 06-04-2010 !!!

TEMA UNO: MODELO SIMPLIFICADO

un proceso puede estar en dos estados
- corriendo
- no corriendo

TEMA DOS: ESTADO DE LOS PROCESOS

en la medida que se ejecuta un proceso su estado se modifica:
- nuevo: el proceso se esta creando
- corriendo: las instrucciones estan ejecutandose
- esperando/bloqueado: el procesos esta a la espera de la ocuerrencia de algun evento
- listo: el proceso esta esperando a ser asignado al procesador
- terminado: el proceso ha terminado la ejecucion

TEMA TRES: DIAGRAMA DE TRANSICION DE ESTADO DE LOS PROCESOS



aumentando los modulos para cuando se necesita agrandar



si el sistema se sobrecarga y el controla sus funciones el se suspende automaticamente hasta organizar y reiniciar, a diferencia del usuario que puede dar la opcion.

siendo en la vidad real de sistemas operativos basado en unix:



TEMA CUATRO: OPERACIONES SOBRE LOS PROCESOS

- crear: nombre, bcp, tabla, recursos, prioridad, jerarquico/no jerarquico
- destruir: eleiminarlo del sistema
- suspender: paraliza (fallo, pausa, congestion)
- retardar
- abortar
- leer atributos
- reanudar
- cambiar prioridad
- bloquear: E/S
- despertar: desbloqueo
- despachar
-temporizar: ejecucion programada

TEMA CINCO: ESTRUCTURA GENERAL DE LAS TABLAS DE CONTROL DEL SO

TEMA SEIS: BLOQUE DE CONTROL PROCESOS (PCB)

descriptor del proceso para so en tabla de procesos, informacion asociada con cada proceso
- identificacion del procesos PID
- identificacion del procesador, afinidad
- estado del proceso FLAGS
- identificacion de usuario, grupo
- contador de programa
- apuntador a proceso padre
- apuntadoresa procesos hijos
- registros visibles de la cpu (cisc 8-32 risc > 100)
- informacion de panificacion de la coy (prioridad)
- informacion de administracion de la memoria (datos, instrucciones)
- informacion contable
- informacion de estado E/S
- localiza, identifica, estado padre, hijos, prioridad , memoria.

martes, 23 de marzo de 2010

¡¡¡ CLASE 23/03/2010 !!!

TEMA UNO: MAQUINAS VIRTUALES


- concepto inventado por ibm como un metodo de tiempo compartido para los mainframe
- una maquina virtual es una copia completamente protegida y aislada del HW de la maquina subyacente
- una maquina virtual aprovecha en forma logica el enfoque de niveles.
- proporciona una interface identica al HW desnudo adyacente.
- el sistema operativo crea una ilusion a los multiples procesos de cada uno esta ejecuntadose sobre su propio procesador con su propia memoria.





video de conceptos y funcionamientos de maquina virtual



TEMA DOS: VMWARE

es un sistema de virtualización por software. Un sistema virtual por software es un programa que simula un sistema físico (un ordenador, un hardware) con unas características de hardware determinadas. Cuando se ejecuta el programa (simulador), proporciona un ambiente de ejecución similar a todos los efectos a un ordenador físico (excepto en el puro acceso físico al hardware simulado), con CPU (puede ser más de una), BIOS, tarjeta gráfica, memoria RAM, tarjeta de red, sistema de sonido, conexión USB, disco duro (pueden ser más de uno), etc





asi funciona: aplicación --> OS (virtual) --> Hardware (virtual) --> VMware --> (OS host) --> hardware físico.

TEMA TRES: MONITORES DE MAQUINA VIRTUAL

es la capa de software que me permite encapsular o guardar lo que voy a mostrar.
son los monitores de maquina virtual que proporcionan una capa entre los ambientes de software y el hardware, que es programable.

traduce la ISA (arquitectura del conjunto de instrucciones), utilizada por una plataforma de hardware en otra.

las maquinas virtuales pueden ser de procesos o de sistemas con la misma o diferente arquitectura de conjuntoi de instrucciones
CDVM: transmeta(crusoe), Os400

*ventajas y desventajas*

- proporciona completa proteccion de los recursos del sistema,ya que cada MV esta aislada de las otras maquinas virtuales.
- es un perfecto vehiculo para la investigacion y el desarrollo de los sitemas operativos. el desarrollo del sistema se hace sobre la maquina virtual.

TEMA CUATRO: AMBIENTES DE LENGUAJE DE ALTO NIVEL

se caracterizan por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas.

En los primeros lenguajes de alto nivel la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales.

Otra limitación de los lenguajes de alto nivel es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de muy alto nivel se crearon para que el usuario común pudiese solucionar tal problema de procesamiento de datos de una manera más fácil y rápida.

a- ambiente convencional donde se distribuye el codigo objeto de la plataforma tradicional
b- ambiente de MV donde dependiente de plataforma ejecuta codigo portable intermedio.


TEMA CINCO: JAVA



TEMA SEIS: .NET FRAMWORK

.NET es un proyecto de Microsoft para crear una nueva plataforma de desarrollo de software con énfasis en transparencia de redes, con independencia de plataforma de hardware y que permita un rápido desarrollo de aplicaciones. Basado en ella, la empresa intenta desarrollar una estrategia horizontal que integre todos sus productos, desde el sistema operativo hasta las herramientas de mercado.




jueves, 18 de marzo de 2010

¡¡¡ CLASE 18/03/2010 !!!

TEMA UNO: ESTRUCTURA DEL SISTEMA-ENFOQUE BASICO

- monolitico: un programa compuesto de rutinas entrelazadas
- programa central, procedimiento de servicios
- procedimietnos de uso general



TEMA DOS: ESTRUCTURA DE NIVELES DE MS-DOS

fue escrito para proveer la ayor funcionalidad en el menor espacio.

no se dividio en modulos no obstante ms-dos tiene algunas estructuras, sus interfaces y niveles de funcionalidad no esta bien separado.

TEMA TRES: ESTRUCTURA DEL SISTEMA-ENFOQUE POR NIVELES



TEMA CUATRO: MODULOS

- la mayoria de los SOS modernos implementan modulois de kernel
* utilizan un enfoque oo
* cada componente del nucleo es independiente
* cada uno se comunica con los otros

"linux nacio de MINIX"



el kernel es una estructura monolitica.
los modulos son unidades independientes de software que pueden ser diseñados e implementados despues de instalar el SO y se puede instalar dinamicamente.
el administrador de modulos permite permite cargar los modulos de los diferente socmponentes.





TEMA CINCO: ENFOQUE MODULAR DE SOLARIS

(estrucutrando)


TEMA SEIS: ESTRUCTURA POR NIVELES DE OS/2



TEMA SIETE: ESTRUCTURA MAC OS X

(estructurando)

TEMA OCHO: ESTRUCTURA CLIENTE-SERVIDOR





TEMA NUEVE: ARQUITECTURA DE WINDOWS



siendo el "NTDLL" es quien maneja:

jueves, 11 de marzo de 2010

¡¡¡ CLASE: 11/03/2010 !!!

TEMA UNO: PROTECCION DE HARDWARE.

- Operacion en modo dual: el compartir los recursos del sistema que el SO se asegure que un programa incorrecto no pueda que otros programas se ejecuten de forma incorrecta.

proporciona soporte al hardware para diferenciar entre al menos dos modos de operaicon:
* modo de usuarios
* modo monitor

- Proteccion de E/S: todas las introsuccioens de E/S son privilegiadas, debe asegurarse que el programa del usuario no puede tener el control del computador en el modo supervisor.

- Proteccion memoria: debe proveer proteccion de memoria al menos para el vector de interrupciones y el vectos de las rutinas de servicios de interrupcion.

con el fin de tener la proteccion de memoria, se agregan de las direcciones validas que un programa puede acceder.

- Proteccion cpu:
* temporizador: interrumpe al computador despues de un periodo especifico para garantizar que el SO mantenga el control.
*el temporizador se utiliza comunmente para implementar tiempo compartido
*emtemporizador tambien se utiliza para calcular el teimpo actual
*la carga del temporizador es una instruccion privilegiada

TEMA DOS: COMPONENTES COMUNES DEL SISTEMA




- llamadas al sistema:
* las llamadas al sistema proporcionan la interfaz entre un programa corriendo y el sistema operativo
* tres metodos genericos para pasar parametros a las llamadas al sistema
* cada sistema operativo propporciona sus propias llamadas al sistema



la API de windows es la mas conocida por "win32".

pasar los parametros como tabla.

fases en la activacion del SO.

procesamiento simple de interrupcion.

TEMA TRES: SERVICIOS DEL SO

- los servicios se programan mediante sentencias de un lenguaje
- estas funciones son como llamadas a funciones
- se convierten, mediante un arutina de biblioteca de sistemas en un conjunto de instrucciones

TEMA CUATRO: INTERFAZ DEL PROGRAMADOR

API: para unix es llamada POSIX y para windows es llamada WIN32.

- posix: * nterfaz estandar de sistemas operativos de IEEE
* objetivo: portabilidad de las aplicaciones........

(por construcción)

- win32: * define los servicios ofrecidos por los sistemas eindows.
* no es un estandar
* api totalemtne distinto a posix
* los recursos de referencian mediante manejadores
* nombres de funciones largos y descriptivos
* dispone de tipos de datos predefinidos
* las funciones devuelven en general "true" en caso de exito y "false" en caso de error


martes, 2 de marzo de 2010

¡¡¡ CLASE: 02/03/2010 !!!

TEMA UNO: SISTEMAS MULTIPROCESADOR

- sistema multiporcesador con mas de una cpu en comunicacion muy cercana.
- sistema fuertemente acopaldo
- los procesadores comparten la memoria y el reloj
la comunicacion por lo general se realiza a travez de la memroia compartida.
- ventajas a traves de la memoria compartida:
- incremento del rendimiento
- economicos
- incrementan confiabilidad
- degradacion gradual
- sistemas de fallos controlados por software



(explicacion ampliada de:multiprocesamiento)


la ejecucion de un sistema siendo multiprocesador se puede explicar por la siguiente grafica:



TEMA DOS: SISTEMAS DISTRIBUIDOS

- distribuye los calculos entre <> procesadores
- objetivos principales
- sistemas debilmente acoplados
- ventajas de los sistemas distribuidos
- recursos compartidos
- computacion mas rapida
- confiabilidad
- comunicacion
- tolerancia a fallos
- disponiblidad
-gestiona los dispositivos de diferentes nodos ofreciendo a usuarios la misma vision
que un sistema centralizado

los sistemas distribuidos tiene varios sitemas que se clasifican en:
- (1)DOS (sistemas operativos distribuidos)
- (2)NOS (sistemas operativos de red)
- (3)MIDDLEWARE (SOD que descompleja el sistema para que el usuario pueda manejar
el SO) (virtualizacion) --> hace ver lo parece ser, pero no es.

(1)--> menos autonomia entre computadores
explicacion de amoeba --> http://es.wikipedia.org/wiki/Amoeba_%28Inform%C3%A1tica%29
(2)--> proporciona archivos compartidos
netware--> cuando aparecio el conflicto que lo representaba era la no comunicacion
en de computadores, fue tambien modular
(3)--> ofrece una interfaz unica para todo computador conectado en red, este llevo
al hoy que conocemos como servicios web o en red.

domingo, 28 de febrero de 2010

¡¡¡ BITACORA SEMANA 2 !!!

Durante la semana 2 que comprende del 22 de febrero al 28 de febrero se ha adelantado muy poco pero dando pasos importantes puesto que hemos aprendido el funcionamiento del chmaquina como tal....

los integrantes del grupo son:

- julieth Andrea Gutierrez
- Daniel Osorio Lopez

jueves, 25 de febrero de 2010

¡¡¡ Chat multilenguaje !!!

El Qopuchawi, un "nuevo ICQ" que traduce mensajes instantáneos a seis idiomas.

Creado por un matemático y ex funcionario público, el programa traduce, vía Internet y en tiempo real, mensajes en español, francés, italiano, portugués, rumano e inglés. El software, que se baja gratis de la red, tiene potencial para sumar otros seis idiomas a su carta. El Qopuchawi fue recientemente estrenado en París, Francia, ante la Unión Latina, una entidad internacional de defensa del idioma que financió el modesto presupuesto de 60 mil dólares que insumió su versión piloto.

(Mayor información: http://www.clarin.com/diario/2002/05/23/s-390955.htm )

(ATAMIRI 2000: http://www.atamiri.cc/es/index.html)

(Download: http://www.megaupload.com/?d=8YHVXQPG)

(blog de publicación original: FireHeadWorld

¡¡¡ CLASE 25/02/2010 !!!

TEMA UNO: PARTICPACION EN EL MERCADO DE LOS SO DE TELEFONOS MOVILES



La participacion ah aumentado en grandes proporciones a tal punto en que algunos paises del mundo entra primero la telefonia movil que la telefonia fija.



siendo symbian el proveedor de nokia a nivel de los sistemas operativos moviles.

TEMA DOS: SISTEMAS DE TIEMPO REAL

-Se utilizan como dispsitivos de control en aplicaicones dedicadas tales como el control de experimentos cientificos, sistemas de imagenes medicas, y algunos sistemas de prestacion.
-sistemas de tiempo real "duro"
- la memoria secundaria es muy limitada o ausente, las memorias de solo lectura
ROM o similar.
- tiene conflictos con los sitemas de teimpo compartido, no esta soportado por los
sistemas operativos de propositos general

-sistemas de tiempo real "blandos" de utilidad en industrias de contro o robotica,
mutimedia y realidad virtual.

las estructuras de un sistema de tiempo real esta conformado de un sistema de un controlador y al menos un sistema controlado.
los sistemas de tiempo real deben producir resultados computacionales exactos, llamados exactitud funcional o logica, y estos calculos deben terminar en un periodo de tiempo predefinido.
los sistemas de tiempo real se definen como aquellos sistemas en los cuales las exactitud total del suistema depende de la exactitud funcional y de la exactitud temporal.

martes, 23 de febrero de 2010

¡¡¡ CLASE 23/02/2010 !!!

TEMA UNO: SISTEMAS VIRTUALES

Sistemas de virtualizacion en proptotipos a escalas pequeñas o computacion empotrada



Aunque este concepto se ha dado a conocer en gran medida en los últimos años, el desarrollo de la virtualizacion es un proceso que viene siendo utilizado desde los años 60’s. Es un termino bastante amplio que ser refiere básicamente a la abstracción de los recursos en una computadora.


Lo que es común en todos los tipos de virtualizacion es la ocultación de detalles técnicos a través de la encapsulación, creando una interfaz que esconde la implementación.

La virtualizacion consiste en tener uno o varios sistemas operativos virtuales funcionando sobre un sistema operativo anfitrión, esto permite tener varios sistemas operativos diferentes sobre el mismo hardware, utilizando y aprovechando de mejor forma los recursos disponibles. Además estos sistemas operativos se encuentran aislados unos de otros.


TEMA DOS: SMARTBOOK



Desde los comienzos, los Smartbooks estaban pensados en ser utilizados con procesador de no más de 1 Ghz, aunque las compañías ya se están poniendo las pilas y los mismos procesadores podría tener una frecuencia de reloj algo superior, dentre los 1,3 – 1,5 Ghz.

TEMA TRES: SISTEMAS EMBEBIDOS/COMPUTACION UBICUA

son sistemas computacionañes con un alto acoplamiento en la integracion de HW y SW y se diseña para ejecutar funciones dedicadas.


-presente en todas partes
-caracterizados por un pequeño conjunto de recursos especializados
-los procesadores SoC (Sytem-on-a-chip)
-admon eficiente de recursos
-CE: Havi ((home audio video interoperability)





ademas de desarrollos tecnologicos tan avanzados como la robotica, ejemplo:




un enrutador:





TEMA CUATRO: RFID