Entradas

Apuntes de clase 20/05/2010

Tendencias en sistemas operativos Las principales abstracciones de hoy día: procesos, hilos, sockets, y archivos no manejan adecuadamente los problemas de administración de la localidad, disponibilidad y tolerancia a fallos. Los siguientes sistemas operativos distribuidos pueden resolver estos problemas. Cualquier fragmento de código debe poder correr en cualquier parte. El sistema debe manejar localidad, replicación y migración de datos y operaciones. Los sistema operativos del futuro deben estar listos para Internet, comercio electrónico, intranets y extranets, operaciones basadas en Internet, servidores de correo electrónico, web, servicios web, etc. El sistema debe ser: Auto configurable Auto ajustable Auto monitoreable Escalable Confiable Seguro Robusto Escalable (a nivel mundial) Tolerable a fallos Persistente Preparado para la red Favorable a la movilidad Extensible Orientado a objetos Orientado a GUI Mayores longitudes de palabra 64, 128 bits Ambientes multitier (multinivel) Re...

Apuntes de clase 18/05/2010

Asignación de espacio para archivos Contigua Cada archivo ocupa un conjunto de bloques contiguos en el disco. Se asigna un único conjunto de bloques en tiempo de creación. Simple-Solo se requiere la ubicación inicial (numero del bloque) y la longitud(numero de bloques) Problemas: Fragmentación, perdida de espacio en disco. Asignación 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 a la administración de espacio libre, no hay desperdicio de espacio. No hay acceso aleatorio. Asignación indexada Un bloque que sirve para los indices de los archivos. Este bloque de indices posee los apuntadores a la memoria física. Para esta opción existe la limitante de que el máximo numero de bloques al que puedo apuntar esta delimitado por el tamaño del bloque, por tanto podemos utilizar paginación o indices multiniveles, es decir, el bloque de direcciones principal apunta solo a otros bloque...

Apuntes 11/05/2010

Imagen
Planificacion del diso El SO es responsable por el uso eficiente del hw- para los discos duros, esto significa tener un tiempo de acceso mas rápido y un mayor ancho de banda para el disco. El tiempo de acceso tiene dos componentes principales: El tiempo de búsqueda es el tiempo en el que el disco debe mover las cabezas hasta el cilindro que contiene el sector deseado. Latencia rotacional es el tiempo adicional de espera para que el disco rote sus cabezas hasta el sector deseado. Minimizando el tiempo de búsqueda El ancho de banda del disco es el numero total de bytes transferidos, dividido por el tiempo total entre la primera solicitud del servicio y el completado de la transferencia. FCFS (First come first serve), en la cola de llagadas de solicitudes se dirige a la que haya llegado primero. SSTS (Shortest seek time first) El planificador escoge el servicio que mas cerca se encuentre en el momento, esto conlleva a problemas de inanición. SCAN, el cabezote del disco recorre el disco de...

Apuntes de clase 4/5/10

Imagen
Politica de recuperacion Determina cuando una pagina se deberia traer a la memoria principal. Con paginacion por demanda (demand paging), una pagina se trae a memoria solo cuando se hace referencia a una posicion en dicha pagina. -Se producen muchos fallos cuando un proceso se arranca inicialmente. Algoritmos de reemplazo de paginas. Las faltas de paginas forza el cambio: Que pagina debe ser removida Establecer espacio para la pagina que entra. Las paginas modificadas deben ser guardadas las otras pueden sobreescribirse. Es aconsejable no reemplazar una pagina usada con frecuencia, seguramente la necesitaremos. Algoritmo optimo de reemplazo de pagina: reemplaza la pagina que se requerira en el punto mas lejano. Optimo pero no lograble. La estimacion se basa en el registro de usos de las corridas anteriores de los procesos, pero los programas siendo dinamicos no hay forma de determinar...

Apuntes de clase 29/04/10

Esquema de traducción de direcciones Las direcciones generadas por la cpu se dividen en: Numero de pagina (p) utilizada en la tabla de paginas que contiene las direcciones base de cada pagina en la memoria física. El desplazamiento de pagina (d) combinado con la dirección base definen la dirección de memoria fisica que es enviada a la unidad de memoria. Traducción: proceso referencia (p,d), se busca en la tabla de correspondencia de paginas para ver la p' (p real), la dirección real es p'+d. Por agilidad tabla de correspondencia en chaché. Si no hay resistencia de la pagina en memoria principal, sucede una falta de pagina. r=0 si pagina no esta en real. Elementos de la tabla de paginas: desactivada chache referencia modificada protección presente/ausente N° de Marco/Swap Otras informaciones: Copia en escritura Edad No pagina (fija en memoria física) Rellenar a ceros Buffer de traducción anticipada (TLB) La tabla de paginas se mantiene en memoria principal. El registro base de ...

Apuntes de clase 27/04/10

Vinculacion de las instrucciones y los datos a la memoria Estadios: Tiempo de compilacion Tiempo de carga Tiempo de ejecución Overlays (superposiciones) Ya no es necesario que el programa sea de menor tamaño al de la memoria, el overlays permite que se cargen instrucciones parciales y secuenciales, pudiendo cargar la mitad de un programa y despues la segunda mitad. Generalmente la memoria principal tiene dos particiones: Para el sistema operativo residente Los procesos de los usurios Sistema de asignacion de multiples particiones fisicas: Este esquema realiza al iniciar el SO donde se reservava el espacio en memoria para el SO y el resto se subdivida en particiones. Si un programa no cabe en una particion al incio se configurarian unas particiones mas grandes. El mas grave problema con este sistema surge cuando se cargan programas pequeños en particiones grandes, considerando una gran ineficiencia. Para la proteccion de memoria se utilizada registro base y registro limite Asignacion co...

Apuntes de clase 22/04/10

Imagen
Planificacion de procesos en Solaris 2 Trabaja con una priorizacion que consiste, en cambiar el tiempo del delay (quantum de tiempo), teniendo varias categorias, tiempo real, sistema, interactivos y tiempos compartidos. Planificacion en POSIX Cada politica de planificacion lleva asociado un rango de al menos 32 niveles de prioridad. El planificador elejira cual debe ser asignado a la CPU de acurdo a esta prioridad escogiendo el de mayor prioridad. Planificacion de procesos en Linux: Trabaja con dos algoritmos: tiempo compartido y tiempo real. Tiempo compartido: prioridad basada en creditos el proceso con mas creditos se despcha. se restan los creditos cuando suceden interrupciones. Planificación en Windows Las prioridades de windows se organizan en dos bandas o clases: tiempo real variable Planificador expropiativo basado en prioridades. Planificacion para multiples procesadores La planificacion es mas compleja cuando se tienen varios procesadores. Escenarios: Asignacion de procesos...