You are on page 1of 15

Sistemas Operativos Gua de la asignatura curso 2011/12

Escuela de Ingeniera Informtica

ste documento es una breve gua de la asignatura de Sistemas Operativos, del segundo curso de las ingenieras informticas impartidas por la ULPGC. Su propsito es informar al estudiante sobre todo aquello que se ha considerado esencial para un feliz transcurso de la asignatura y se le ofrece como punto de partida imprescindible. Incluye el programa de la asignatura, el sistema de evaluacin, la planificacin del curso y las referencias al resto de la documentacin necesaria. Esta gua se encuentra (http://sopa.dis.ulpgc.es/so). disponible en la web de la asignatura

Contenido
Presentacin 3 Contenidos tericos 4 Contenidos prcticos 4 Evaluacin 6 Instalaciones 7 Profesorado 8 Documentacin 8 Bibliografa bsica 10 Bibliografa complementaria 11 Temario detallado 13

1.

Presentacin

El sistema operativo es una parte esencial dentro de un sistema informtico. Administra los recursos del sistema y ofrece un entorno de programacin y operacin a los usuarios, permitiendo trabajar con la mquina de forma cmoda y eficaz. Es imprescindible que un titulado universitario en Informtica conozca los conceptos fundamentales vinculados a los sistemas operativos, sus funciones, su estructura y su implementacin. En consecuencia, todas las ingenieras en informtica de la ULPGC contienen esta asignatura de Sistemas Operativos, que se imparte en el segundo cuatrimestre del segundo ao y con una carga docente de setenta y cinco horas (cuarenta y cinco tericas ms treinta prcticas).

1.1

Objetivos de formacin

Esta asignatura cubre plenamente la materia troncal de Sistemas Operativos, definida en las directrices para planes de estudios de esta forma: organizacin, estructura y servicio de los sistemas operativos. Gestin y administracin de memoria y de procesos. Gestin de entrada/salida. Sistemas de ficheros. La prctica de esta asignatura ir encaminada a consolidar los conocimientos tericos impartidos en el aula, haciendo que el estudiante construya componentes de un sistema operativo. Para ello el estudiante tendr que aprender a manejarse en un entorno de programacin, en concreto C++ bajo UNIX (Linux). Gracias a esto, la parte prctica servir tambin como adiestramiento en la programacin de sistemas. En suma, los objetivos docentes de Sistemas Operativos son: Conceptos generales sobre sistemas operativos estructura funciones diseo Programacin de sistemas Operacin y programacin en entorno UNIX Programacin bsica en lenguaje C++

1.2

Requisitos acadmicos

Para cursar esta asignatura se requieren conocimientos de organizacin de computadoras y de informtica general a un nivel elemental. Tambin es preciso un dominio bsico de la programacin estructurada, programacin modular y de tipos abstractos de datos. Por otro lado, el estudiante tendr que manejar inevitablemente documentacin tcnica en ingls, por lo que es importante tener un nivel intermedio de comprensin lectora en este idioma. Las prcticas de la asignatura se realizarn en lenguaje C++. Es requisito indispensable que el estudiante tenga experiencia previa en lenguaje C.

2.

Contenidos tericos

Las clases tericas comprendern once unidades temticas, que se impartirn en este orden: Parte-A 1. 2. 3. 4. Parte-B 5. 6. Parte-C 7. 8. 9. Memoria Memoria Virtual Archivos Planificacin de procesos Concurrencia: exclusin mutua y sincronizacin Conceptos sobre sistemas operativos Estructura del computador Estructura del sistema operativo Procesos

Al final de esta gua, a partir de la pgina 13, se muestra el temario detallado de la asignatura. Los textos por los que se seguir la parte terica son: Fundamentos de Sistemas Operativos: Teora y ejercicios resueltos, de S. Candela, R. Garca, A. Quesada, F. Santana, J.M. Santos. Sistemas Operativos, de A. Silberschatz y P. Galvin.

3.

Contenidos prcticos

Las explicaciones tericas se apoyarn en una serie de actividades prcticas que pretenden afianzar los conocimientos recibidos, bsicamente mediante el diseo e implementacin de mdulos de un sistema operativo educacional llamado Nachos. Adems, la asignatura tambin tiene una parte formativa sobre programacin de sistemas.

3.1

El sistema operativo Nachos

El Nachos es un pequeo sistema operativo escrito en C++ que corre sobre una mquina virtual MIPS (emulada) y que puede ser ejecutado en plataformas UNIX de muchos tipos. Fue creado por profesores de la Universidad de Berkeley como soporte a las prcticas de la asignatura de Sistemas Operativos. Nachos contiene un sistema operativo a medio hacer; a partir del cdigo disponible se puede experimentar fcilmente y disear un sistema con multitarea, memoria virtual, sistema de ficheros, e incluso controlar una red simulada de mquinas. El cdigo fuente de Nachos utiliza un subconjunto reducido de C++, bsicamente el soporte de tipos abstractos de datos (clases). No emplea herencia, polimorfismo, excepciones ni plantillas (templates), as que slo se requiere un

aprendizaje bsico de C++ para poder entender el cdigo, que por otra parte es muy legible.

3.2

Actividades prcticas previstas

Las prcticas consistirn en actividades tutorizadas en el laboratorio ms alguna tarea que se propondr para que el alumno la resuelva por su cuenta. Estas son las actividades previstas: 1. Operacin con entorno Linux y programacin en C++ bajo Linux. 2. Introduccin a Nachos e implementacin del gestor de llamadas al sistema del Nachos. 3. Manejo de hilos y concurrencia en Nachos. 4. Polticas de planificacin de hilos en Nachos. [1 entrega obligatoria] 5. Implementacin de los cerrojos y de las variables condicin y resolucin de problemas clsicos de concurrencia. [2 entrega obligatoria] 6. Implementar la llamada al sistema Exec sin multiprogramacin. 7. Implementar la llamada al sistema Exec para que Nachos proporcione un entorno multiprogramado. [3 entrega obligatoria] 8. Implementar las llamadas al sistema Exit y Join. [entrega optativa] 9. Memoria Virtual. [entrega optativa] Estos trabajos son de realizacin obligatoria para aprobar la asignatura. Las prcticas 8 y 9 prctica tendr carcter opcional y aadir un 10% adicional en la nota final de la asignatura. Los trabajos se presentarn en tres entregas, en los plazos que se establecern durante el cuatrimestre. Las entregas se harn a travs de Moodle, y consistirn en la entrega de cdigo fuente ms una pequea memoria. Adems, para superar los trabajos, estas cuatro entregas debern ser defendidas ante el profesor. En el caso de que las entregas no se presenten en los plazos marcados, los estudiantes podrn entregarlas al final del curso, en el plazo (evaluacin no continua, bien por que se presente en una convocatoria que no es la ordinaria o bien por que no se presentan las entregas por plazos) que se indicar. En este caso de entrega fuera de plazo, para superar la parte prctica de la asignatura habr que realizar adems un examen prctico en el laboratorio, adems de tener las prcticas entregadas aprobadas.

3.3

Prcticas en grupo o individuales

Las actividades que tienen como fin el adiestramiento con las herramientas (Linux, compilador de C++, Nachos) se pueden desarrollar de forma individual. Sin embargo, los trabajos obligatorios se realizarn en grupos de dos o tres personas, ya que uno de los objetivos de las actividades prcticas es la de fomentar el trabajo en equipo. Los grupos se configurarn a voluntad de los propios estudiantes, siempre que pertenezcan al mismo turno de prcticas. Pinsenlo bien antes de elegir a su compaero, puesto que no se permiten separaciones ni refusiones de grupos una vez que estn formados.

3.4

Repetidores

Los estudiantes que repiten la asignatura no tendrn que volver a realizar los trabajos prcticos que ya hubieran superado con xito en cursos anteriores. Cada uno de estos trabajos se considerar aprobado con idntica nota a la que se obtuvo en el pasado curso.

4.

Evaluacin

La asignatura se evaluar mediante exmenes, el resultado de los trabajos prcticos y controles discrecionales en clase.

4.1

Exmenes tericos

En este curso se realizarn tres exmenes parciales correspondientes a las partes A, B y C que aparecen en el apartado del temario, cada una de ellas liberatorias, y que habr que superar por separado. Los parciales se realizarn de la siguiente forma: a) Para la convocatoria extraordinaria especial (diciembre 2011): a. La Parte-A a finales del mes de octubre b. La Parte-B durante el mes de noviembre c. La Parte-C y la recuperacin de las partes A y B no superadas (mnimo de 5 sobre 10), en la fecha de la convocatoria extraordinaria especial (diciembre) del examen. b) Para la convocatoria ordinaria (junio 2012): a. La Parte-A a principios del mes de Marzo b. La Parte-B a finales del mes de Abril c. La Parte-C y la recuperacin de las partes A y B no superadas (mnimo de 5 sobre 10), en la fecha de la convocatoria ordinaria (junio 2012) del examen. c) Para la convocatoria extraordinaria (julio 2012): a. Un nico examen dividido en tres partes, correspondientes a las partes A, B y C del temario. Los estudiantes slo debern realizar el examen de la parte an no superada, y aprobarla con un mnimo de 5.

4.2

Trabajos prcticos

Los trabajos prcticos obligatorios sern evaluados mediante la revisin de las memorias y defensas. Cada trabajo obligatorio tiene el mismo peso en la nota final. Los integrantes de un grupo de prcticas habrn de completar con xito todos los trabajos obligatorios en las fechas que los profesores determinen. La asignatura prev la realizacin de trabajos optativos para subir nota.

4.3

Calificacin final

La calificacin final se calcular segn la siguiente tabla: Ponderacin Exmenes tericos Trabajos prcticos obligatorios Trabajos prcticos optativos 70% 30% 10%

La calificacin final resultar de aplicar los porcentajes antedichos a la nota obtenida en exmenes, trabajos prcticos y en su caso, a la evaluacin continua. Para aprobar la asignatura habr que obtener ms del 50% de la nota mxima de cada uno de los trabajos obligatorios y de los exmenes de teora. La nota de teora se obtiene obteniendo la media aritmtica de las notas de los exmenes de teora, una vez que se hayan aprobado cada una de las partes.

4.4

Criterios de evaluacin. Tipo de exmenes

Se pretende evaluar en el alumno la consecucin de los objetivos docentes de la asignatura, principalmente el dominio de los conceptos fundamentales sobre sistemas operativos. Los exmenes estarn diseados de tal forma que se abarque la mayor cantidad posible de material temtico, a fin de explorar los conocimientos globales que tenga el alumno. Bastantes preguntas tratarn de relacionar conceptos de temas diferentes. La costumbre, que no la norma, de los ltimos aos ha sido que la duracin de un examen est en torno a las tres horas y media. En los pasados cursos casi siempre los exmenes contuvieron varias preguntas de desarrollo, preguntas de respuesta corta, algn desarrollo algortmico y un test con cuestiones generales. Los trabajos prcticos se evaluarn de acuerdo con criterios de calidad del programa, tanto de su diseo general como de su implementacin y documentacin; aparte, se valorarn parmetros como la creatividad y la mejor o peor defensa que el grupo haga de su trabajo. Los criterios de evaluacin de prcticas se adjuntarn a la documentacin que se entregar en su momento.

5.

Instalaciones

Las tutoras tanto para las clases tericas como las prcticas se realizarn en el despacho Seminario-5, primera planta del Mdulo III, previa cita con el alumno. Las tutoras sern del tipo concertado, preferiblemente por email. Para realizar los trabajos prcticos, se dispone del Laboratorio de Sistemas Operativos (2-2). El laboratorio cuenta con un servidor de altas prestaciones y una red local de una veintena de pecs que tienen instalado el sistema Linux. Aparte de estos puestos de trabajo, los estudiantes podrn trabajar de forma remota mediante Internet a cualquier hora del da. La naturaleza de los trabajos prcticos permite que stos se realicen en cualquier pec con Linux, as que quien lo desee podr implementarlos en su casa. En cualquier caso, la revisin de los trabajos se har en las mquinas del Departamento de Informtica y Sistemas.

Cada estudiante dispondr de una cuenta de usuario exclusiva del Laboratorio de Sistemas Operativos. Si alguno no la tiene activa, por favor ponerse en contacto con el profesor Fran Santana. Los laborales encargados de la administracin del laboratorio son Gonzalo Lpez (glopez@dis.ulpgc.es) y Francisco Rivera (frivera@dis.ulpgc.es).

6.

Profesorado
Francisco J. Santana Prez Profesor de teora y de prcticas en II ITIS e ITIG Despacho: seminario 5 tlf 928 45 87 45 Correo: fsantana@dis.ulpgc.es

Los horarios de tutora y atencin al alumnado estar publicado en el despacho del profesor, en Moodle y en la pgina web de la asignatura. Es indispensable acordar previamente una cita con el profesor, preferiblemente por medio de email.

7.

Documentacin

En la asignatura Sistemas Operativos se cuenta con fuentes documentales de todo tipo, que podemos clasificar en: Bibliografa bsica y complementaria Guas tericas y prcticas Material para las prcticas Servicios de informacin en lnea Seguidamente se explicar cada una de estas fuentes, aunque a la bibliografa se la tratar con ms detenimiento en posteriores secciones.

7.1

Bibliografa bsica y complementaria

La bibliografa bsica de una asignatura son aquellos textos fundamentales que bastan para que el alumno tenga una visin completa de los contenidos de aqulla. En la seccin de bibliografa bsica se incluyen libros sobre sistemas operativos en general y literatura conveniente para los objetivos prcticos de la asignatura (programacin y operacin en UNIX, programacin en C++). Vase a partir de la pgina 10. Por bibliografa complementaria se entiende el conjunto de textos accesorios, no imprescindibles, que sin embargo son tiles para profundizar en aspectos particulares de la asignatura. En la pgina 11 comienza una relacin de ttulos que se pueden considerar bibliografa complementaria.

7.2

Guas tericas y prcticas

Durante el curso los profesores entregarn material diverso para seguir las clases tericas y prcticas. Por ejemplo, para cada unidad terica. Para las prcticas se suministrar material variado, p.ej. trpticos con las rdenes comunes de UNIX, esquemas con la organizacin de archivos del Nachos, etc.

7.3

Material para el laboratorio

La documentacin que se suministra para las actividades prcticas y el uso del laboratorio incluye, entre otras cosas: Fichas de prcticas Manuales de operacin y programacin en entorno UNIX Manuales de programacin en C/C++ Textos de los trabajos prcticos en Nachos

7.4

Servicios en lnea

Desde 1994, la gestin de la asignatura de Sistemas Operativos incluye unos servicios de informacin automatizados. El servicio mantiene informacin actualizada sobre el laboratorio, enunciados de prcticas, textos y soluciones de exmenes (ya celebrados, por supuesto), manuales tcnicos, etc., que estn accesibles en la direccin web http://sopa.dis.ulpgc.es/so/ Adems los estudiantes matriculados en Sistemas Operativos disponen de un sistema Moodle desde donde se puede acceder tambin a toda la informacin publicada en la web: proyecto docente, esta misma gua, otras guas tericas y practicas, manuales complementarios as como una serie de recursos propios de Moodle que emplearemos a lo largo del curso, por ejemplo, foros, tareas Para acceder debern ir a http://www.campusvirtual.ulpgc.es/, introducir en el men de la izquierda su usuario (DNI) y contrasea (la misma que emplean para el correo institucional) y dentro del apartado Apoyo a la enseanza presencial debern encontrar una entrada para la asignatura de Sistemas Operativos.

7.5

Correo electrnico

Los estudiantes podrn utilizar el correo electrnico para consultar dudas con sus profesores. Adems, los comunicados cotidianos les llegarn a los alumnos por esa va, por ejemplo las convocatorias de clases y las calificaciones de exmenes, que normalmente se publicarn en el Moodle de la asignatura. El correo electrnico y el Moodle sern los medios de comunicacin preferentes para los avisos de ese tipo. Esto quiere decir que bastantes comunicados slo se harn por va electrnica y no aparecern impresos en tabln alguno. IMPORTANTE: los comunicados a los alumnos de la asignatura se enviarn a las direcciones de correo oficial de la ULPGC (las que tienen el dominio @estudiantes.ulpgc.es). Por ello, se recomienda a los alumnos que consulten habitualmente su cuenta de correo oficial. Asimismo, el alumno deber actualizar su foto en su perfil del entorno Moodle.

7.6

Dnde encontrar los documentos

La mayora de los documentos escritos relacionados con la asignatura (apuntes, guas, etc.) estarn disponibles en el servidor WWW y Moodle de la asignatura. La Gua de Operacin en entorno UNIX se encontrar tambin en la Biblioteca del Edificio de Informtica y Matemticas, para su consulta. En el servidor WWW de la asignatura estar expuesto un catlogo actualizado con la documentacin publicada y dnde puede encontrarse.

8.

Bibliografa bsica

La bibliografa bsica es el conjunto de libros que bastan para el aprendizaje completo de la asignatura, segn los temarios terico y prctico; a continuacin se presentarn indicando para cada una su ttulo, autor y editorial, ms un breve comentario. De todas estas obras existen ejemplares suficientes en la Biblioteca del Edificio de Informtica y Matemticas.

8.1

Fundamentos de sistemas operativos

Los siguientes libros engloban la prctica totalidad del temario de la asignatura.


FUNDAMENTOS DE SISTEMAS OPERATIVOS: TEORA Y EJERCICIOS RESUELTOS

S. Candela, R. Garca, A. Quesada, F. Santana, J.M. SantosThomson Paraninfo, 2007 Este libro es fruto de la experiencia acumulada por los profesores del Departamento de Informtica y Sistemas de la ULPGC, que durante ms de dos dcadas han impartido las asignaturas de Sistemas Operativos en las ingenieras en Informtica, desde que en los aos ochenta se constituyera la Escuela Universitaria de Informtica y la hoy extinta titulacin de Diplomado en Informtica. Adems del contenido terico, esta obra contiene una seleccin de preguntas y ejercicios, con sus respectivas soluciones, que abarcan todo el temario de la asignatura de Sistemas Operativos y que pueden ser utilizadas por los alumnos para afianzar sus conocimientos a travs de la autoevaluacin. SISTEMAS OPERATIVOS (QUINTA EDICIN) A. Silberschatz, P. Galvin Addison-Wesley, 1999 El llamado libro de los dinosaurios es un texto esencial en Sistemas Operativos, que cubre la mayor parte de los temas de la asignatura. Imprescindible como libro de texto. La cuarta y quinta ediciones estn bien actualizadas y tienen una organizacin temtica ms adecuada para seguir la asignatura. Hay ediciones ms recientes (sexta y sptima), pero su estructura est menos acoplada al temario que impartimos en este asignatura.

8.2

Operacin en el sistema UNIX

Como complemento al adiestramiento que se recibir en las clases prcticas, se recomiendan estas obras: GUA DE OPERACIN EN UNIX J. M. Santos Servicio de publicaciones EUI, 1996 Trata a un nivel introductorio-medio la operacin en el entorno UNIX, llegando a nociones sobre la programacin de shell scripts. El libro se complementa con los trpticos o chuletas que se entregarn en las clases prcticas. EDICIN ESPECIAL LINUX (CUARTA EDICIN) J. Tackett y S. Burnett Prentice-Hall, 2000 Un libro que cubre la instalacin, la administracin y el uso cotidiano de sistemas Linux.

8.3

Programacin en C++

Una plyade de ttulos sobre programacin en C y C++ inunda el mercado bibliogrfico. Dentro de este vasto ocano se seleccionan dos ttulos en espaol. EL LENGUAJE DE PROGRAMACIN C++ Bjarne Stroustrup Addison Wesley, Edicin especial Puede considerarse el manual de referencia del C++, escrito por el propio autor del lenguaje. Hay varias ediciones de este libro, cualquiera posterior al ao 2000 puede servir. C: MANUAL DE REFERENCIA H. Schildt McGraw-Hill, 2001 Ideal para el aprendizaje del lenguaje C, explica tanto las caractersticas del mismo como bastantes funciones de biblioteca.

9.

Bibliografa complementaria

En esta seccin se incluyen textos que, o bien sirven para profundizar en materias de la asignatura, o bien son referencias concretas para algunos temas no suficientemente cubiertos por la bibliografa bsica.

9.1

Fundamentos de sistemas operativos

Los siguientes ttulos abarcan todo el temario de la asignatura y se podran emplear como libros de texto alternativos al recomendado. SISTEMAS OPERATIVOS (QUINTA EDICIN) W. Stallings Prentice Hall, 2005 SISTEMAS OPERATIVOS: TEORA Y PROBLEMAS Joaqun Aranda Almansa... [et al.] Sanz y Torres, 2002 SISTEMAS OPERATIVOS. UNA VISIN APLICADA J. Carretero, P. De Miguel, F. Garca y F. Prez McGraw-Hill, 2001

9.2

Programacin concurrente

PROGRAMACIN CONCURRENTE Jos Toms Palma Mndez, Mara del Carmen Garrido Carrera, Fernando Snchez Figueroa, Alexis Quesada Arencibia Thomson, 2003 Un texto bsico para entender los aspectos de la concurrencia que se explican en la asignatura. CONCURRENT PROGRAMMING A.Burns, G. Davies Addison-Wesley, 1993 Un texto bsico para entender los aspectos de la concurrencia que se explican en la asignatura, en particular los captulos 1, 2, 3, 6 y 7. PRINCIPLES OF CONCURRENT AN D DISTRIBUTED PROGRAMMING M. Ben-Ari Prentice-Hall, 1990 Un texto clsico sobre concurrencia. Los primeros captulos cubren el rea temtica de concurrencia de la asignatura.

10. Temario detallado


Este es el temario terico de la asignatura, con un mayor nivel de detalle en sus contenidos.

1.
1.1.

Conceptos sobre sistemas operativos


Definicin. 1.1.1. Componentes de un sistema informtico: sistema lgico, sistema fsico y sistema humano. Aplicaciones y programas del sistema. Concepto de sistema operativo. 1.1.2. Objetivos de los sistemas operativos. El sistema operativo como administrador de recursos, mquina extendida, programa de control y entorno de operacin y programacin.

1.2.

Recorrido histrico. Tipos de sistemas.

1.2.1. Sistemas primitivos. El primer sistema operativo: monitor residente. Procesamiento por lotes. La multiprogramacin. Sistemas interactivos: tiempo compartido. Sistemas de tiempo real. Informtica personal. Sistemas paralelos. Sistemas distribuidos.

2.

Estructura del computador

2.1. Sistema de interrupciones. Interrupciones vectorizadas. Acceso directo a memoria (DMA). Excepciones e interrupciones software. 2.2. Jerarqua de memorias. Principio de cach. Consistencia y coherencia. 2.3. Necesidad de proteccin en el sistema operativo. Instrucciones privilegiadas. Modo dual de operacin. Implementacin en hardware.

3.

Estructura del sistema operativo

3.1. Componentes funcionales de un sistema operativo: Gestin de procesos, memoria, entrada/salida, archivos, interfaces de usuario y de programacin. Programas del sistema. 3.2. El ncleo. Llamadas al sistema. El sistema operativo como programa reactivo (guiado por eventos). Polticas y mecanismos. Principios de abstraccin y de cach. 3.3. Modelos arquitectnicos: sistemas monolticos, sistemas por capas, mquinas virtuales, modelo cliente/servidor. Diseo e implementacin de sistemas operativos.

4.
4.1.

Procesos
Concepto de proceso. Estados de actividad de un proceso.

4.2. Concurrencia. Ventajas de los sistemas concurrentes. Cooperacin y competencia entre procesos: el problema de la inanicin. 4.3. Planificacin de procesos. Estructuras de gestin: bloque de control de proeso, colas de preparados y de espera. Niveles de planificacin: despachador, planificador de medio plazo y de largo plazo. 4.4. Llamadas al sistema para gestionar procesos. Comunicacin entre procesos. Procesos e hilos.

5.

Planificacin de procesos

5.1. Modelo de comportamiento de un proceso. Criterios de evaluacin de las polticas de planificacin. 5.2. Polticas de planificacin. Por orden de llegada (FCFS). Primero el ms corto (SJF). Mtodos expulsivos (preemptive). Round-Robin. Mtodos basados en prioridades. Mtodos multicolas. 5.3. 5.4. Planificacin avanzada: tiempo real, multiprocesadores. Evaluacin de algoritmos: cargas de trabajo, modelos estadsticos.

6.

Concurrencia

6.1. Sincronizacin y comunicacin entre procesos. Concepto y necesidad de sincronizacin. Indeterminismo. Inanicin e interbloqueo. El problema del bfer finito. 6.2. El problema de la seccin crtica. Condiciones de seguridad y progreso (liveness). Soluciones algortmicas y de hardware. Instrucciones atmicas: testand-set; SWAP. 6.3. Herramientas de programacin concurrente: semforos, regiones crticas, monitores. 6.4. Problemas clsicos de sincronizacin entre procesos.

7.

Memoria

7.1. Objetivos de la gestin de la memoria. Jerarqua de memorias y cach. El espacio de direcciones en el lenguaje de alto nivel. Elementos y fases en la traduccin de direcciones: compilacin, enlace, carga del programa, traduccin dinmica. Estructura de un fichero ejecutable. 7.2. Direcciones lgicas y direcciones fsicas. Traduccin de direcciones. Reubicacin esttica y dinmica. Hardware de traduccin de direcciones: unidad de manejo de memoria (MMU). 7.3. Gestin de memoria contigua. Intercambio (swapping). Polticas de gestin de huecos libres. Particiones fijas (MFT) y variables (MVT). El problema de la fragmentacin. Compactacin. Carga dinmica y DLL. 7.4. Paginacin: Arquitectura de un sistema paginado. Circuitera de traduccin y estructuras de control. Utilizacin de TLB. Proteccin de pginas. Doble nivel de paginacin. 7.5. Segmentacin: Arquitectura de un sistema segmentado. Circuitera de traduccin y estructuras de control. Utilizacin de TLB. Proteccin de segmentos. Reubicacin y comparticin de reas de memoria. Combinacin de la segmentacin con la paginacin.

8.

Memoria virtual

8.1. Principios y objetivos de la memoria virtual. El almacenamiento secundario como extensin de la memoria principal. Arquitectura de un sistema con memoria virtual. 8.2. Paginacin bajo demanda. Fallos de pgina. Polticas de reemplazo: ptima, FIFO, LRU, LFU, NRU, segunda oportunidad. Anlisis de la eficiencia e implementabilidad de las polticas. 8.3. Polticas de asignacin de marcos. Hiperpaginacin. El modelo del rea activa (working set). Polticas basadas en la frecuencia de fallos de pgina.

9.

Archivos

9.1. Concepto de fichero. El fichero como tipo abstracto de datos: operaciones tpicas. Tipos de ficheros. Bloques lgicos y fsicos. 9.2. Mtodos de acceso directo y secuencial. Protocolos de uso de ficheros. Semnticas de consistencia. 9.3. Directorios. Nombres de archivos. Rutas. Organizaciones de directorios: dos niveles, en rbol, en grafo. Organizaciones no arbreas: enlaces, alias. 9.4. Proteccin de archivos. Conceptos sobre proteccin: usuarios, dominios, privilegios, etc. Listas de control de acceso. Tipos de operaciones. 9.5. Organizacin del disco. Bloques lgicos. Estructuras para directorios y ficheros. Nodos-i. Soporte de mltiples unidades lgicas y fsicas. 9.6. Gestin del espacio en disco. Almacenamientos contiguo, encadenado e indexado. FAT. Gestin del espacio libre: mapas de bits, listas, grupos.

You might also like