fundamento de sistema operativo

16
Escuela de Ingeniería Informática !"#$%&'#()* $' ,)* -.*('&%* /0'1%(.2)* 3"4% $' ,% %*.5#%("1% 6"1*) 789:;<

Upload: delio2021

Post on 30-Nov-2014

63 views

Category:

Software


5 download

DESCRIPTION

leeer

TRANSCRIPT

Escuela de Ingeniería Informática

!"#$%&'#()*+$'+,)*+-.*('&%*+/0'1%(.2)*+

+3"4%+$'+,%+%*.5#%("1%+

+6"1*)+789:;<

ste documento es una breve guía de la asignatura de Fundamentos de los Sistemas Operativos, del segundo curso del Grado en Ingeniería Informática impartido por la ULPGC. Su propósito 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 evaluación, la planificación del curso y las referencias al resto de la documentación necesaria.

Esta guía se encuentra disponible en la web de la asignatura (http://sopa.dis.ulpgc.es/fso).

Contenido

1.!Presentación 2!2.!Contenidos teóricos 3!

3.!Contenidos prácticos 3!4.!Evaluación 5!

5.!Instalaciones 7!6.!Profesorado 8!

7.!Material didáctico 8!8.!Bibliografía básica 10!

9.!Bibliografía complementaria 11!10.!Temario detallado 13!

11.!¡No olvidar! 14!

E

2 - Sistemas Operativos

1. Presentación El sistema operativo es una parte esencial dentro de un sistema informático. Administra los recursos del sistema y ofrece un entorno de programación y operación a los usuarios, permitiendo trabajar con la máquina de forma cómoda y eficaz. Es imprescindible que un titulado universitario en Informática conozca los conceptos fundamentales vinculados a los sistemas operativos, sus funciones, su estructura y su implementación.

En consecuencia, el Grado en Ingeniería Informática de la ULPGC contiene esta asignatura de Fundamentos de los Sistemas Operativos, que se imparte en el segundo cuatrimestre del segundo año y con una carga docente presencial de sesenta horas (treinta horas teóricas más treinta prácticas).

1.1 Objetivos de formación Desde un punto de vista teórico esta asignatura pretende formar al estudiante para que éste conozca la estructura general, funciones y principios de diseño de los sistemas operativos.

La práctica de esta asignatura irá encaminada a consolidar los conocimientos teóricos impartidos en el aula. Las simulaciones ayudarán al estudiante a entender las políticas de gestión de recursos propias del sistema operativo. El estudiante se adiestrará en programación de sistemas mediante la utilización de la API del sistema operativo y el software del sistema, usando para ello el entorno de programación del lenguaje C bajo Unix (Linux).

En suma, los objetivos docentes de Fundamentos de los Sistemas Operativos son:

Conceptos generales sobre sistemas operativos ! estructura ! funciones ! diseño

Programación de sistemas

! Operación y programación en entorno Unix/Linux ! Programación básica en lenguaje C

1.2 Requisitos académicos Para cursar esta asignatura se requieren conocimientos de organización de computadoras y de informática general a un nivel elemental. También es preciso un dominio básico de las técnicas de programación estructurada. Por otro lado, el estudiante tendrá que manejar inevitablemente documentación técnica en inglés, por lo que es importante tener un nivel intermedio (B1) de comprensión lectora en este idioma.

Guía de la asignatura - 3

2. Contenidos teóricos Las clases teóricas comprenderán las siguientes unidades temáticas, que se impartirán en este orden:

1. Conceptos sobre sistemas operativos 2. Procesos 3. Concurrencia 4. Memoria 5. Archivos

Al final de esta guía se muestra el temario detallado de la asignatura. Los textos por los que se seguirá la parte teórica son:

• Fundamentos de Sistemas Operativos: Teoría y ejercicios resueltos, de S. Candela, R. García, A. Quesada, F. Santana, J.M. Santos.

• Sistemas Operativos, de A. Silberschatz y P. Galvin.

3. Contenidos prácticos Las explicaciones teóricas se apoyarán en una serie de actividades prácticas que pretenden afianzar los conocimientos recibidos y que irán dirigidas a consolidar las competencias de la asignatura mediante estos cuatro enfoques:

• Uso del SO. Adquirir competencia en programación de sistemas mediante la utilización de la API del sistema operativo y el software del sistema.

• Simulaciones. Entender las políticas de gestión de recursos propias del sistema operativo a través de simulaciones.

• Diseño del SO. Desarrollar componentes de software análogos.

• Estudiar el mercado. Profundizar en el conocimiento aplicado de los conceptos de la asignatura a través de trabajos de investigación sobre las tecnologías, sistemas y productos que ofrece el mercado.

Los tres primeros enfoques se materializarán en actividades tutorizadas que el estudiante realizará en el laboratorio y/o en su casa. Se procurará que los requisitos técnicos del puesto de trabajo y del software permitan la ejecución de los trabajos desde el domicilio del estudiante y con un equipo informático convencional. En este sentido se favorecerá el empleo de software libre y contenidos abiertos.

El cuarto enfoque, estudios de mercado, se desarrollará como trabajos tutorizados a partir del material que se trate en las clases teóricas. Las actividades se desarrollarán en equipos de trabajo de entre dos y ocho estudiantes dependiendo de las características de la actividad. En el caso general se evitará la realización de actividades individuales aunque para atender adecuadamente a los estudiantes con requisitos especiales se dará la posibilidad del trabajo individual con alguna penalización. En todos los casos las actividades requerirán sesiones tutorizadas para que el profesor pueda conocer, guiar y evaluar el trabajo en curso.

4 - Sistemas Operativos

3.1 Actividades prácticas previstas Las prácticas consistirán en actividades tutorizadas en el laboratorio más algunas tareas que se propondrán para que el alumno las resuelva por su cuenta, a modo de autoevaluación. Las actividades prácticas previstas abarcarán estos tópicos:

• Operación en un entorno multiprogramado y multisuario.

• Uso de herramientas de desarrollo para lenguaje C.

• Uso de las llamadas del sistema operativo.

• Manejo de procesos e hilos.

• Mecanismos de sincronización y comunicación entre procesos.

• Resolución de problemas básicos de concurrencia.

• Análisis e implementación de políticas de gestión de memoria.

• Manejo de archivos. Este conjunto de tópicos no constituyen una lista exhaustiva de trabajos. De esta lista se extraerá un subconjunto para cada grupo de trabajo.

Las actividades prácticas propuestas como obligatorias deben superarse para aprobar la asignatura. Adicionalmente se pueden proponer trabajos prácticos de carácter opcional.

Los trabajos se presentarán a lo largo del semestre en sucesivas entregas, en los plazos que se establezcan. Las entregas se harán a través de Moodle, y deberán incluir, al menos, el código fuente y una pequeña memoria/informe. Estas entregas deberán ser defendidas ante el profesor.

En el caso de que las entregas no se presenten en los plazos establecidos, los estudiantes tendrán la opción de entregarlas al final del semestre, en el plazo que se indicará en su momento. Si el estudiante opta por la entrega de final de semestre, además de superar las prácticas entregadas, deberá realizar un examen práctico en el laboratorio.

3.2 Prácticas en grupo Las actividades que tienen como fin el adiestramiento con las herramientas (Linux, lenguaje C y compilación) se pueden desarrollar de forma individual. Sin embargo, los trabajos obligatorios se realizarán en grupos de dos o tres personas, ya que uno de los objetivos de las actividades prácticas es la de fomentar el trabajo en equipo. Los grupos se configurarán a voluntad de los propios estudiantes, siempre que pertenezcan al mismo turno de prácticas.

Piénsenlo bien antes de elegir a su compañero, puesto que no se permiten separaciones ni fusiones de grupos una vez que están formados.

3.3 Repetidores De acuerdo con la normativa de la ULPGC, los estudiantes que repiten la asignatura no tendrán que volver a realizar los trabajos prácticos que ya hubieran superado con éxito en cursos anteriores. Cada uno de estos trabajos se considerará aprobado con idéntica nota a la que se obtuvo en su momento.

Guía de la asignatura - 5

3.4 Turnos de prácticas De acuerdo con los procedimientos de la ULPGC, cada estudiante es asignado a un turno de asistencia a prácticas en el momento de la matriculación. En caso de que deseen cambiar de turno una vez comenzada la actividad docente, tendrán que solicitarlo formalmente en la Administración del Edificio de Informática y Matemáticas.

4. Evaluación La evaluación se realizará mediante tres sistemas básicos:

1. Habrá exámenes escritos y también la posibilidad de celebrar pruebas prácticas para evaluar la adquisición de habilidades prácticas.

2. Las actividades prácticas se evaluarán por el proceso y por el resultado. El resultado de cada trabajo debe materializarse en un entregable escrito (código fuente más informe/memoria) y además debe ser expuesto de forma oral. Se evaluará la expresión escrita y oral de estos entregables y exposiciones. En cuanto al proceso se evaluará la capacidad para buscar, sintetizar y producir información y conocimiento; la capacidad para marcar objetivos de trabajo y cumplirlos en tiempo y forma; y las habilidades de trabajo en equipo tanto con los compañeros como con el tutor.

3. La calificación del alumno también abarcará elementos de evaluación continua del estudiante tales como:

• Participación en las preguntas y ejercicios planteados en las sesiones presenciales o en el Campus Virtual.

• Sugerencias de corrección o mejora en el material didáctico de la asignatura.

• Aportaciones críticas a los contenidos de la asignatura y a la metodología de trabajo.

• Participación en las discusiones en el aula y en laboratorio, en especial como iniciador de la discusión o como solucionador.

• Aportaciones positivas al proceso de aprendizaje de otros compañeros.

4.1 Exámenes teóricos Cuando se haya impartido en torno a la mitad de la materia de teoría se celebrará un examen parcial, cuyo peso en la nota de teoría será del 50%.

Habrá un examen de convocatoria en junio, según lo dispuesto oficialmente. El examen de junio se dividirá en dos partes: la primera para aquellas personas que no hayan aprobado el parcial y la segunda, constituida por la materia que no pertenezca al primer parcial. Para poder aprobar la teoría en junio es necesario aprobar las dos partes.

Las calificaciones obtenidas en junio en cada una de las partes teóricas NO se guardan para posteriores convocatorias.

4.2 Trabajos prácticos Los trabajos prácticos obligatorios serán evaluados mediante la revisión de las memorias y defensas. Los integrantes de un grupo de prácticas habrán de

6 - Sistemas Operativos

completar con éxito todos los trabajos obligatorios en las fechas que los profesores determinen. La asignatura prevé la realización de trabajos optativos para subir nota (hasta un 10% adicional).

4.3 Calificación final La calificación final se calculará según la siguiente tabla:

Ponderación

Exámenes teóricos 70%

Trabajos prácticos obligatorios 30%

Trabajos prácticos optativos 10%

Evaluación continua y otros 10%

La calificación final resultará de aplicar estos porcentajes a la nota obtenida en exámenes, trabajos prácticos y en su caso, a la evaluación continua.

Para aprobar la asignatura habrá que obtener más del 50% de la nota máxima de cada uno de los trabajos obligatorios y de los dos exámenes de teoría. La nota de teoría será la media aritmética de las notas de los exámenes de teoría, una vez que se hayan aprobado cada una de las partes.

Aunque los porcentajes suman un 120%, nunca se podrá obtener más de un 10 en la nota final. El 20 % adicional está concebido para que el estudiante pueda mejorar su calificación una vez que ha alcanzado la nota mínima para aprobar.

A continuación se muestra el algoritmo detallado de cálculo de la calificación en la asignatura. En caso de discrepancia de interpretación entre la especificación algorítmica y lo expresado en los párrafos anteriores prevalecerá el algoritmo.

NT = nota de teoría

NP = nota de prácticas obligatorias

NPV = nota de práctica/s optativa/s NA = nota adicional (evaluación continua y otros)

NFSA = nota final sin ajustar = ( 70!NT + 30!NP + 10!NPV + 10!NA ) / 100

NFA = nota final ajustada (la que va al acta) que se obtiene así: si NT >= 5 y NP >= 5: NFA = MIN(10, NFSA)

si NT <= 3 o NP <= 3: NFA = MIN(3, NFSA) en otro caso: NFA = MIN(4, NFSA)

4.4 Criterios de evaluación. Tipo de exámenes Se pretende evaluar en el alumno la consecución de los objetivos docentes de la asignatura, principalmente el dominio de los conceptos fundamentales sobre sistemas operativos. Los exámenes estarán diseñados de tal forma que se abarque la mayor cantidad posible de material temático, a fin de explorar los conocimientos

Guía de la asignatura - 7

globales que tenga el alumno. Muchas preguntas tratarán de relacionar conceptos de temas diferentes.

La costumbre de los últimos años ha sido que la duración de un examen está en torno a las tres horas y media. En los pasados cursos casi siempre los exámenes contuvieron varias preguntas de desarrollo, preguntas de respuesta corta, algún desarrollo algorítmico y un test con cuestiones generales.

Los trabajos prácticos se evaluarán de acuerdo con criterios de calidad del programa, tanto de su diseño general como de su implementación y documentación; además, se valorarán parámetros como la creatividad y la calidad de la defensa que el grupo haga de su trabajo. Los criterios de evaluación de prácticas se adjuntarán a la documentación que se entregará en su momento.

No está de más remarcar que a cualquier alumno universitario se le presupone un adiestramiento previo en varias disciplinas, como son: la capacidad para comprender un texto escrito; expresarse con corrección, precisión y claridad; y en general un bagaje formativo cuya carencia repercutirá en la calificación definitiva en la asignatura.

5. Instalaciones Las clases teóricas se impartirán en las aulas correspondientes del Edificio de Informática y Matemáticas.

Para realizar los trabajos prácticos, 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 PC que tienen instalado el sistema Linux (distribución CentOS).

La naturaleza de los trabajos prácticos permite que éstos se realicen en cualquier equipo con Linux, así que quien lo desee podrá implementarlos en equipos ajenos al laboratorio 2-2. En cualquier caso, la revisión de los trabajos se hará en las máquinas del Departamento de Informática y Sistemas.

Cada estudiante dispondrá de una cuenta de usuario exclusiva del Laboratorio de Sistemas Operativos. A comienzos del semestre se comunicará cómo pueden obtener su usuario y contraseña.

Con su cuenta de usuario, el estudiante podrá si lo desea acceder de forma remota al servidor del Laboratorio de SO (sopa.dis.ulpgc.es), con un cliente SSH.

8 - Sistemas Operativos

6. Profesorado

Alexis Quesada Arencibia Coordinador Despacho 1-8 Tlfs. 928 454 572 / 928 457 108 Correo: [email protected]

Francisco J. Santana Pérez Responsable de prácticas Despacho S-5 Tlf. 928 458 745 Correo: [email protected]

José Miguel Santos Espino Profesor de teoría/prácticas Despacho 3-2 Tlf. 928 458 742 Correo: [email protected]

Eduardo Rodríguez Barrera Profesor de teoría/prácticas Despacho seminario-10 Tlf. 928 459 862 Correo: [email protected]

Los horarios de tutoría y atención al alumnado estarán publicados en los despachos respectivos de los profesores, en Moodle y en la página web de la asignatura. Es recomendable acordar previamente una cita con el profesor. Los profesores atenderán gustosamente consultas por correo electrónico.

7. Material didáctico En la asignatura de Fundamentos de los Sistemas Operativos se cuenta con fuentes documentales de todo tipo, que podemos clasificar en:

Bibliografía básica y complementaria Guías teóricas y prácticas Material para las prácticas Servicios de información en línea

Seguidamente se explicará cada una de estas fuentes, aunque a la bibliografía se la tratará con más detenimiento en posteriores secciones.

7.1 Bibliografía básica y complementaria La bibliografía básica de una asignatura son aquellos textos fundamentales que bastan para que el alumno tenga una visión completa de los contenidos de aquélla. En la sección de bibliografía básica se incluyen libros sobre sistemas operativos en general y literatura conveniente para los objetivos prácticos de la asignatura (programación y operación en Unix, programación en C). Véase a partir de la página 10.

La bibliografía complementaria es el conjunto de textos accesorios, no imprescindibles, que sin embargo son útiles para profundizar en aspectos particulares de la asignatura. En la página 11 comienza una relación de títulos que se pueden considerar bibliografía complementaria.

7.2 Guías teóricas y prácticas Durante el curso los profesores entregarán material diverso para seguir las clases teóricas y prácticas. Por ejemplo, hay disponibles transparencias para cada unidad

Guía de la asignatura - 9

teórica. Para las prácticas se suministrará material variado, p.ej. trípticos con las órdenes comunes de UNIX, etc. También pueden encontrar material multimedia, por ejemplo tutoriales en vídeo de determinados tópicos de la asignatura.

7.3 Material para el laboratorio La documentación que se suministra para las actividades prácticas y el uso del laboratorio incluye, entre otras cosas:

• Fichas de prácticas • Manuales de operación y programación en entorno Unix • Manuales de programación en C • Textos de los trabajos prácticos

7.4 Servicios en línea Desde 1994, la asignatura dispone de servicios online para apoyar al estudiante. El actual servicio web está accesible en http://sopa.dis.ulpgc.es/fso/. En él se puede encontrar material didáctico de todo tipo, como las guías de la asignatura, las presentaciones utilizadas en las sesiones teóricas, material de prácticas, textos y soluciones de exámenes (ya celebrados, por supuesto) y videotutoriales sobre algunos tópicos de la asignatura. Toda esta información es de acceso público.

A través del Campus Virtual de la ULPGC también se podrá acceder a algunos de esos contenidos, así como utilizar los recursos para la participación del estudiante y la evaluación de los trabajos. Por ejemplo, los trabajos prácticos se entregarán mediante una tarea Moodle.

El servidor web sopa.dis.ulpgc.es, por tanto, servirá de «biblioteca» de la asignatura, mientras que el Moodle será el «aula virtual» en la que estudiantes y profesores participarán en el desarrollo de la asignatura.

Para acceder al Moodle deberán ir a http://mi.ulpgc.es, introducir su usuario (DNI sin letra) y contraseña (la misma que emplean para el correo institucional) y dentro del apartado «Mi Campus Virtual», «Enseñanzas de grado y posgrado. Curso 2013/2014» deberán encontrar una entrada para la asignatura de Fundamentos de los Sistemas Operativos. Si no es así, es posible que aún no figuren matriculados en la asignatura en el Campus Virtual: contacten con la Administración del Edificio.

7.5 Comunicaciones oficiales Los comunicados oficiales de la asignatura se enviarán siempre a través del Moodle, por ejemplo los anuncios de fechas de entrega, las calificaciones, eventos, imprevistos, etc. El correo electrónico y el Moodle serán los medios de comunicación

preferentes para esta clase de comunicados. Esto quiere decir que los estudiantes deberán visitar el Moodle con frecuencia, y consultar habitualmente su cuenta de correo de estudiante en la ULPGC (la que tiene el dominio @alu.ulpgc.es o @estudiantes.ulpgc.es).

10 - Sistemas Operativos

8. Bibliografía básica La bibliografía básica es el conjunto de libros que bastan para el aprendizaje completo de la asignatura, según los temarios teórico y práctico; a continuación se presentarán indicando para cada una su título, autor y editorial, más un breve comentario. De todas estas obras existen ejemplares suficientes en la Biblioteca del Edificio de Informática y Matemáticas.

8.1 Sistemas operativos Los siguientes libros engloban la práctica totalidad del temario de la asignatura. Aunque existen suficientes ejemplares en biblioteca, no es mala inversión adquirir uno de ellos para que engrose las estanterías del estudiante. FUNDAMENTOS DE SISTEMAS OPERATIVOS: TEORÍA Y EJERCICIOS RESUELTOS S. Candela, R. García, A. Quesada, F. Santana, J.M. Santos Thomson Paraninfo, 2007

Este libro es fruto de la experiencia acumulada por los profesores del Departamento de Informática y Sistemas de la ULPGC, que durante más de dos décadas han impartido las asignaturas de Sistemas Operativos en las ingenierías en Informática. Esta obra contiene, además del contenido teórico, una selección de preguntas y ejercicios resueltos que abarcan todo el temario de la asignatura y que pueden ser utilizadas por los estudiantes para afianzar sus conocimientos a través de la autoevaluación.

SISTEMAS OPERATIVOS (SÉPTIMA EDICIÓN) A. Silberschatz, P. Galvin McGraw-Hill, 2006

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. Aunque ponemos como referencia la séptima edición, ediciones anteriores a partir de la cuarta sirven perfectamente para seguir la asignatura.

8.2 Operación en el sistema UNIX Como complemento al adiestramiento que se recibirá en las clases prácticas, se recomiendan estas obras:

GUÍA DE OPERACIÓN EN UNIX J. M. Santos Servicio de publicaciones EUI, 1996

Trata a un nivel introductorio-medio la operación en el entorno UNIX, llegando a nociones sobre la programación de shell scripts. El libro se complementa con los trípticos o chuletas que se entregarán en las clases prácticas.

Guía de la asignatura - 11

EDICIÓN ESPECIAL LINUX (CUARTA EDICIÓN) J. Tackett y S. Burnett Prentice-Hall, 2000

Un libro que cubre la instalación, la administración y el uso cotidiano de sistemas Linux.

8.3 Programación en C Este es un título válido para el aprendizaje del lenguaje C que es necesario en la asignatura:

C: MANUAL DE REFERENCIA H. Schildt McGraw-Hill, 2001

Ideal para el aprendizaje del lenguaje C, explica tanto las características del mismo como bastantes funciones de biblioteca.

9. Bibliografía complementaria En esta sección 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 bibliografía básica.

9.1 Fundamentos de sistemas operativos Los siguientes títulos abarcan todo el temario de la asignatura y se podrían emplear como libros de texto alternativos al recomendado. SISTEMAS OPERATIVOS: ASPECTOS INTERNOS Y PRINCIPIOS DE DISEÑO (QUINTA EDICIÓN) W. Stallings Prentice Hall, 2005

SISTEMAS OPERATIVOS: TEORÍA Y PROBLEMAS Joaquín Aranda Almansa... [et al.] Sanz y Torres, 2002

SISTEMAS OPERATIVOS. UNA VISIÓN APLICADA (SEGUNDA EDICIÓN) J. Carretero, P. De Miguel, F. García y F. Pérez McGraw-Hill, 2007

9.2 Programación concurrente PROGRAMACIÓN CONCURRENTE José Tomás Palma Méndez, María del Carmen Garrido Carrera, Fernando Sánchez Figueroa, Alexis Quesada Arencibia Thomson, 2003

Un texto básico para entender los aspectos de la concurrencia que se explican en la asignatura.

12 - Sistemas Operativos

CONCURRENT PROGRAMMING A.Burns, G. Davies Addison-Wesley, 1993

Un texto básico para entender los aspectos de la concurrencia que se explican en la asignatura, en particular los capítulos 1, 2, 3, 6 y 7.

PRINCIPLES OF CONCURRENT AND DISTRIBUTED PROGRAMMING M. Ben-Ari Prentice-Hall, 1990

Un texto clásico sobre concurrencia. Los primeros capítulos cubren el área temática de concurrencia de la asignatura.

Guía de la asignatura - 13

10. Temario detallado Este es el temario teórico de la asignatura, con un mayor nivel de detalle en sus contenidos.

1. Conceptos sobre sistemas operativos • El sistema operativo como interfaz: API, llamadas al sistema, CLI, GUI,

recursos virtuales.

• El sistema operativo como administrador de recursos: procesos y recursos; políticas de gestión; objetivos de eficiencia, seguridad y equidad; interbloqueo e inanición.

• Tipos de sistemas informáticos.

• Arquitectura del hardware para el SO: sistema de interrupciones, excepciones, modo dual de operación, jerarquía de memorias.

• Componentes del sistema operativo: programas del sistema, núcleo, shell; arquitecturas de núcleos; máquinas virtuales.

2. Procesos • Sistemas multitarea: estados de un proceso; colas; cambio de contexto; niveles

de planificación.

• Servicios: procesos pesados e hilos; llamadas al sistema usuales.

• Planificación del procesador: políticas básicas (FCFS, SJF, Round Robin, prioridades); evaluación de las políticas; métodos multicolas; multiprocesadores.

3. Concurrencia • Programación concurrente: especificación algorítmica; beneficios para el

programador.

• Propiedades de los sistemas concurrentes: no determinismo; necesidad de sincronización; acciones atómicas.

• El problema de la sección crítica.

• Sincronización: problemas clásicos; semáforos; técnicas de solución de problemas de sincronización.

14 - Sistemas Operativos

4. Memoria

• Elementos comunes: fragmentación; gestión del espacio libre; protección; espacios de direcciones lógicos y físicos; traducción de direcciones y MMU.

• Gestión de memoria contigua: enlace dinámico; políticas de gestión del espacio libre; intercambio (swapping).

• Gestión de memoria no contigua: segmentación; paginación; TLB; compartición y protección de zonas de memoria.

• Memoria virtual: paginación por demanda; algoritmos de reemplazo; modelo del área activa (working set).

5. Archivos

• Interfaz del sistema: estructura y atributos de los ficheros; operaciones sobre ficheros; métodos de acceso; organización en directorios.

• Implementación del sistema: estructura de un sistema de ficheros; políticas de asignación de espacio a archivos; implementación de directorios; cachés; planificación de operaciones de E/S.

11. ¡No olvidar! • Consultar el buzón de correo institucional (@estudiantes.ulpgc.es)

• Visitar frecuentemente el Moodle de la asignatura.

• Actualizar el perfil de usuario de Moodle con una foto «reconocible».